カスタムアプリケーションアラートおよび通知

logo cloud active logo hybrid disabled logo server disabled logo pcf disabled

前提条件

  • アプリケーションが CloudHub にデプロイされている必要があります。
    CloudHub へのデプロイ

  • Mule プロジェクトが Maven でビルドされている必要があります。

    • Studio 6.x 以前を使用している場合は、Enabling Maven Support for a Studio Projectしてください。

    • Studio 7.x 以降では、デフォルトですべてのプロジェクトが Maven でビルドされています。

通知の使用方法

通知を使用すると、アプリケーション内のビジネス関連のイベントを把握できます。たとえば、次のような場合に通知を作成できます。

  • アプリケーションがリモートサービスに接続できない。

  • データマッピングの問題など、人の介入を必要とするエラーが発生した。

  • 処理された注文数など、アプリケーションで実行された処理のサマリを作成したい。

アラートと組み合わせると、この通知を別のユーザに直接転送し、アラートに対してアクションを実行して、元の問題を解決できます。

この例では以下の方法を示します。

  • ビジネス関連のイベントを通知として送信する方法

  • エラーを通知として送信する方法

  • 通知が到着したときにメールアラートを送信する方法

アプリケーションのデプロイ

アプリケーションをデプロイするには、Runtime Manager の [Applications (アプリケーション)] メニューから [Deploy Application (アプリケーションをデプロイ)] をクリックします。詳細は、「CloudHub へのデプロイ」を参照してください。

通知のトリガ

アプリケーションが実行されていると、アプリケーションの URL に移動することで通知をトリガできます。例: http://YOURAPP.cloudhub.io/hello-notification。このページに Hello World メッセージが表示され、Runtime Manager コンソールに新しい通知が自動的に作成されます。

Runtime Manager コンソールに戻り、右上にある新しい通知インジケータのベルをクリックすると、アラートメッセージが表示されます。

image2014-10-24+17-41-16-1

例外の発生後に通知が送信された場合、exception.messageexception.stacktrace が通知のカスタムプロパティとして添付されます。これらには、Runtime Manager コンソールからアクセスできます。

カスタムアラート

アラートを使用すると、アプリケーションの通知に基づいてメールを送信できます。提供されたソフトウェアを使用して、CloudHub で標準アラートを作成できます。カスタムアラートを作成する場合、https://www.mulesoft.com/exchange/#!/cloudhub-integration-connector[CloudHub コネクタ]を取得して Anypoint Studio にインストールする必要があります。

カスタムアラートと通知は、CloudHub ワーカーにデプロイされているアプリケーションでのみ使用できます。オンプレミスサーバにデプロイされているアプリケーションでは使用できません。詳細は、「デプロイ戦略」を参照してください。

前提条件

  • CloudHub コネクタをインストールして設定します。CloudHub コネクタは、Mule 3 アプリケーションと Mule 4 アプリケーションの両方で使用できます。

  • Anypoint Studio をインストールします

カスタムアラートの作成

  1. CloudHub コネクタのグローバル設定を作成して、Anypoint Platform へのサインイン方法を定義します。基本認証または継承されたトークン認証を使用できます。

  2. Anypoint Studio で、Mule パレットからアラートをトリガするアプリケーションフローに、CloudHub コネクタをドラッグします。

  3. アプリケーション内でカスタム通知を作成し、コネクタ設定を完了します。

  4. Runtime Manager に移動して、カスタム通知をアラートにバインドします。

  5. 左側のメニューで ​[Alerts (アラート)]​をクリックします。

  6. 青色のプラス記号をクリックして新しいアラートを作成します。

  7. [Create an Alert (アラートを作成)]​ウィンドウで、カスタムアラートの情報を設定します。

    • Name (名前) - カスタムアラートの分かりやすい名前を入力すします。

    • Severity level (重要度レベル) - アラートに適用する重要度レベルを選択します。

      • Critical (重大)

      • Warning (警告)

      • Info (情報)

    • Source (ソース) - アラートのソースを選択します。

      • Applications (アプリケーション)

      • Servers (サーバ)

    • Application type (アプリケーション種別) - ​[CloudHub Applications (CloudHub アプリケーション)]​を選択します。

    • Applications (アプリケーション)​ - カスタムアラートを適用する特定のアプリケーションを選択するか、または *[All applications (すべてのアプリケーション)] *を選択して、環境のすべてのアプリケーションにアラートを適用します。

      カスタムアラートの場合は、カスタムアラートをトリガするように設定したフローを含むアプリケーションを選択する必要があります。
    • Condition (条件) - ​[Custom application notification (カスタムアプリケーション通知)]​を選択します。

      • ドロップダウンリストから ​[Priority (優先度)]​を選択するか、または ​[Any (任意)]​ を選択して優先度に関係なく通知を送信します。

      • 通知をトリガする単語の値を ​[Contains (次の値を含む)]​に入力します。

        この文字列は、CloudHub コネクタで追加したメッセージの文字列と一致する必要があります。
    • Subject (件名) - 通知メールに付ける件名を入力します。

    • Message (メッセージ) - 通知に含めるカスタムメッセージを入力します。

    • Recipients (受信者) - 通知受信者のメールアドレスを入力します。

  8. [Create Alert (アラートを作成)] をクリックします。

    custom alert2

    アプリケーションの URL (http://YOURAPP.cloudhub.io/ など) に移動して、通知を再度トリガします。指定したアドレスで、通知を含むメールを受信します。

通知を送信する場所を定義するカスタムプロパティの例を次に示します。

<cloudhub:create-notification message="Error processing transaction." priority="ERROR">
  <cloudhub:custom-properties >
    <cloudhub:custom-property key="originalPayload">#[flowVars.originalPayload]</cloudhub:custom-property>
  </cloudhub:custom-properties>
</cloudhub:create-notification>

これで、メッセージ内で通常のプロパティ (${originalPayload} など) としてこのカスタムプロパティにアクセスできます。

エラー通知の送信

「catch exception strategy (キャッチ例外戦略)」の内側で CloudHub コネクタを使用することで、エラーの発生時に通知を送信できます。

  1. これを行うには、次の XML を mule-config.xml に追加します。

    <flow name="create notification from exception">
        <inbound-endpoint address="http://0.0.0.0:${http.port}/create-notification-from-exception"/>
        <scripting:component>
            <scripting:script engine="groovy">
                throw new Exception("Could not connect to remote service.")
            </scripting:script>
        </scripting:component>
        <default-exception-strategy>
            <cloudhub:create-notification message="Error processing transaction." priority="ERROR"/>
        </default-exception-strategy>
    </flow>

    このフローは例外をスローし、その例外からメッセージ「Error processing transaction」を含む通知を作成します。フローの例外スタックトレースがメッセージに添付されます。必要に応じて、attachStacktrace を使用してこれをオフにできます。

  2. アプリケーションを作成してデプロイし、http://YOURAPP.cloudhub.io/create-notification-from-exception に移動します。

  3. Runtime Manager コンソールに戻ると、右上に通知ポップアップが表示されます。

  4. 通知リンクをクリックすると、スタックトレースを含む通知が通知リストに表示されます。

    notifications_exception
  5. スタックトレースの全体および詳細を表示するには、[More…​ (さらに表示)] をクリックします。メッセージ全体がポップアップウィンドウに表示されます。

notifications_stack_trace

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub