アプリケーション監視と自動再起動

CloudHub はすべてのアプリケーションを監視し、アプリケーションが応答しなくなった場合に通知と診断情報をユーザーに送信します。

ユーザーが介入しなくてもアプリケーションが自動的に回復されるように、自動再起動を有効にすることができます。

アプリケーションによる動作の監視方法

監視動作は Mule バージョンによって異なります。

  • Mule 4.x

    CloudHub は Mule エージェント状態チェックエンドポイントを使用して、デプロイメントの準備状況を決定します。この監視方法では、徹底的なチェックによってアプリケーションがデプロイされ、ゲートウェイポリシーが適用されていることが確認されます。

    30 秒おきに CloudHub が状態チェックエンドポイントをチェックします。状態チェックエンドポイントの失敗が 3 回連続して検出されると、ログに警告が出力されます。

  • Mule 3.8.x

    デプロイ時には、CloudHub によって監視 ping フローがアプリケーションに挿入されます。

    アプリケーションが起動すると、監視が有効になっていることと、ping フローがアプリケーションに挿入されたことを示すメッセージがログに表示されます。

    ログの Monitoring enabled メッセージと Registering ping flow injector メッセージ
    Figure 1. ログの ​Monitoring enabled​ メッセージと ​Registering ping flow injector​ メッセージを示す矢印。

    30 秒おきに CloudHub が HTTP GET 要求を ping フローに送信します。

    アプリケーションが正常に実行されている場合、ping フローは応答を送信します。 CloudHub が 3 回連続で ping から応答を受信しないと、ログに警告とフルスレッドダンプが表示されます。

どちらの場合でも、CloudHub ではコンソールへの通知がトリガーされ、アプリケーションのワーカーが応答しなくなったことが通知されます。

メールアラートを設定してある場合、応答しないワーカーによって、​Worker Not Responding​ イベントに基づくメールアラートもトリガーされます。

自動再起動の有効化

新しいアプリケーションをデプロイするとき、または既存のアプリケーションを再デプロイするときに、自動再起動を有効化できます。

  • 新しいアプリケーションをデプロイする

    1. Runtime Manager の左側のメニューで ​[Applications (アプリケーション)]​ をクリックします。

    2. [Deploy Application (アプリケーションをデプロイ)]​ をクリックして、​[Deployment Target (デプロイメント対象)]​ から ​[CloudHub]​ を選択します。

    3. [Automatically restart application when not responding (応答がない場合にアプリケーションを自動的に再起動)]​ オプションを選択します。

      [Automatically restart application when not responding (応答がない場合にアプリケーションを自動的に再起動)] オプション
      Figure 2. [Automatically restart application when not responding (応答がない場合にアプリケーションを自動的に再起動)]​ オプションを示す矢印。
    4. [Deploy Application (アプリケーションをデプロイ)]​ をクリックします。

  • 既存アプリケーションの再デプロイ

    1. Runtime Manager の左側のメニューで ​[Applications (アプリケーション)]​ をクリックします。

    2. アプリケーション状況をクリックして、詳細ペインを右側に表示します。

    3. [Manage Application (アプリケーションを管理)]​ ボタンをクリックして、アプリケーションの ​[Settings (設定)]​ ページを表示します。

    4. [Automatically restart application when not responding (応答がない場合にアプリケーションを自動的に再起動)]​ オプションを選択します。

      [Automatically restart application when not responding (応答がない場合にアプリケーションを自動的に再起動)] オプション
      Figure 3. [Automatically restart application when not responding (応答がない場合にアプリケーションを自動的に再起動)]​ オプションを示す矢印。
    5. [Apply Changes (変更を適用)]​ をクリックします。

自動再起動の動作

[Automatically restart application when not responding (応答がない場合にアプリケーションを自動的に再起動)]​ オプションを選択すると、CloudHub はワーカーを監視し、必要に応じてアプリケーションを再起動します。

CloudHub は、アプリケーションが再起動中であることを知らせる通知を表示し、その後で再起動の成功または失敗を報告する通知を表示します。

  • 再起動に成功すると、ping スクリプトが再初期化されて監視が続行されます。

  • 再起動に失敗すると、CloudHub は引き続きアプリケーションの再起動を 5 回まで再試行します。

再起動の最大試行回数を超えると、CloudHub はそれ以上は何も行いません。監視スクリプトが終了し、アプリケーションは手動で介入するまでそのままの状態です。

ログに再起動プロシージャーの詳細が表示されます。

[Automatically restart application when not responding (応答がない場合にアプリケーションを自動的に再起動)]​ オプションを選択しないと、監視スクリプトが終了し、アプリケーションは手動で再起動するまでそのままの状態になります。

CloudHub は通知とログメッセージを表示しますが、それ以上は何も行いません。