CloudHub を使用すると、アプリケーションからの通知を Runtime Manager コンソールに表示できます。 元の問題を解決できるように、これらの通知をカスタムアラートとして特定の相手にメールで送信するよう CloudHub を設定できます。
| カスタムアラートと通知は、CloudHub ワーカーにデプロイされているアプリケーションでのみ使用できます。 オンプレミスサーバーにデプロイされているアプリケーションでは使用できません。 CloudHub 機能についての詳細は、「デプロイメントオプション」を参照してください。 |
前提条件
-
CloudHub にアプリケーションをデプロイしていること。
「CloudHub へのデプロイ」を参照してください。
-
Anypoint Studio 6.x 以前の場合は、Mule プロジェクトの Maven サポートを有効化していること。
Studio 7.x 以降のすべてのプロジェクトでは、デフォルトで Maven をサポートしています。
カスタムアプリケーションアラート
アラートを使用すると、アプリケーションの通知に基づいてメールを送信できます。 CloudHub またはオンプレミスサーバーにデプロイされているサーバーとアプリケーション用に、Runtime Manager で標準的なアラートを作成できます。 アラートの詳細を参照してください。
CloudHub にデプロイされているアプリケーションのカスタムアラートを作成することもできます。
カスタムアプリケーションアラートを作成する手順は、次のとおりです。
-
CloudHub 用 Anypoint Connector (CloudHub Connector) を Anypoint Studio の Mule アプリケーションのフローに追加し、通知を設定します。
CloudHub Connector は、Mule 3 アプリケーションと Mule 4 アプリケーションの両方で使用できます。
-
CloudHub にアプリケーションをデプロイします。
-
Runtime Manager で、カスタムアプリケーションアラートを設定します。
CloudHub Connector で通知を設定する
Studio で、Mule プロジェクトに CloudHub Connector を追加して設定します。
-
[Mule Palette (Mule パレット)] ビューで [CloudHub] をクリックし、キャンバスでアラートをトリガーするアプリケーションフローに [Create Notification] 操作をドラッグします。
-
キャンバスで [Create Notification] をクリックします。
-
[Create Notification] プロパティウィンドウで、[Connector configuration (コネクタ設定)] 項目の右にある緑のプラスアイコン (+) をクリックします。
-
[Global Element Properties (グローバル要素プロパティ)] ウィンドウで、Anypoint Platform に対する認証を設定し、[OK] をクリックします。
Figure 1. 矢印は、[Global Element Properties (グローバル要素プロパティ)] ウィンドウの [Username (ユーザー名)] 項目を示しています。このコネクタでは、基本認証または継承されたトークン認証を使用できます。
-
[Create Notification] プロパティウィンドウで、[Domain (ドメイン)] 項目に CloudHub アプリケーション名を、[Message (メッセージ)] 項目に通知を入力します。
Figure 2. 矢印は、[Create Notification] プロパティウィンドウの [Message (メッセージ)] 項目を示しています。CloudHub Connector を使用した通知の作成についての詳細は、「通知の作成」を参照してください。
-
CloudHub にアプリケーションをデプロイします。
カスタムアラートの作成
Runtime Manager で、カスタム通知をアラートにバインドします。
-
左側のメニューで [Alerts (アラート)] をクリックします。
-
青色のプラス記号 (+) をクリックして新しいアラートを作成します。
-
[Create an Alert (アラートを作成)] ページで、カスタムアラートを設定して [Submit (送信)] をクリックします。
Figure 3. 矢印は、[Create an Alert (アラートを作成)] ウィンドウの [Applications (アプリケーション)] 項目を示しています。- Name (名前)
-
カスタムアラートの分かりやすい名前を入力します。
- Severity level (重要度レベル)
-
アラートに適用する重要度レベルを選択します。
-
Critical (重大)
-
Warning (警告)
-
Info (情報)
-
- Source (提供元)
-
アラートの提供元の [Application (アプリケーション)] を選択します。
- Application type (アプリケーション種別)
-
[CloudHub Applications (CloudHub アプリケーション)] を選択します。
- アプリケーション数
-
カスタムアラートをトリガーするために設定したフローが含まれるアプリケーションを選択します。
- Conditional (条件)
-
[Custom application notification (カスタムアプリケーション通知)] を選択します。
-
[Priority (優先度)] メニューから優先度を選択するか、または優先度を [Any (任意)] のままにして優先度に関係なく通知を送信します。
-
[Contains (含まれる)] に通知をトリガーするために使用する文字列を入力します。
この文字列は、CloudHub Connector で設定した [Message (メッセージ)] 項目の文字列と一致する必要があります。
-
- Subject (件名)
-
通知メールに付ける件名を入力します。
- Message (メッセージ)
-
通知に含めるカスタムメッセージを入力します。
- Recipients (受信者)
-
通知受信者のメールアドレスを入力します。
アラートの [Subject (件名)] 項目と [Message (メッセージ)] 項目では変数を使用できます。 アラートでの変数の使用については、「アラート変数」を参照してください。
アラートをトリガーすると、指定された受信者はアプリケーションに追加したカスタムメッセージが含まれるメールを受信します。
Notifications (通知)
[Notifications (通知)] では、アプリケーション内のビジネス関連のイベントを把握できます。 たとえば、次のような場合に表示される通知を作成できます。
-
アプリケーションがリモートサービスに接続できない。
-
データマッピングの問題など、人の介入を必要とするエラーが発生した。
-
処理された注文数など、アプリケーションで実行された処理のサマリーを作成したい。
| CloudHub では、アプリケーションごとに最大 1000 件の通知を保存できます。 通知の数が最大数を超えると、CloudHub によって最も古い通知が削除されます。 通知ごとに最大 10,000 文字を含めることができます。 |
通知をトリガーする
CloudHub にデプロイされたアプリケーションの通知をトリガーする手順は、次のとおりです。
-
次のような、アプリケーションの URL とパスを開きます。
http://myApp.us-w1.cloudhub.io/storeページにエラーメッセージが表示され、新しい通知が Runtime Manager コンソールに送信されます。
-
Runtime Manager の [Applications (アプリケーション)] ページで、右上にある赤いベルアイコンをクリックすると、通知が表示されます。
Figure 4. 矢印は、通知ドロップダウンのエラーを示しています。
例外の発生後に通知が送信された場合、Runtime Manager コンソールからアクセスできる exception.message と exception.stacktrace が通知のカスタムプロパティとして含まれます。
エラー通知の送信
<error-handler> コンポーネント内で CloudHub Connector を使用し、エラーの発生時に通知を送信できます。
たとえば、<on-error-propagate> コンポーネントを使用してエラーメッセージを送信し、フローの処理を停止します。
<flow name="myTestFlow" >
...
<error-handler >
<on-error-propagate enableNotifications="true" logException="true" doc:name="On Error Propagate" type="ANY">
<cloudhub:create-notification doc:name="Create Notification" config-ref="CloudHub_Config" domain="bad-app-name" priority="WARN">
<cloudhub:message ><![CDATA[#[error.description]]]></cloudhub:message>
</cloudhub:create-notification>
</on-error-propagate>
</error-handler>
...
</flow>
On-Error コンポーネントについては、「On-Error コンポーネントを使用したメッセージングエラーの処理」を参照してください。