複雑な本番環境でアラートがトリガーされると、自動修復やチケットシステムの統合など、自動化されたアクションをトリガーする必要がしばしばあります。Application Real-Time Monitoring Service (ARMS) のアラート管理は EventBridge と統合されており、アラートのライフサイクルイベント (トリガー、要求、コメント、クリア) をカスタムイベントバスに転送します。そこから、EventBridge は定義したルールに基づいて、イベントをダウンストリームコンシューマーにルーティングします。
仕組み
ARMS は通知統合を通じて、アラートイベントを EventBridge のカスタムイベントバスに公開します。
各イベントは CloudEvents 1.0 仕様に準拠しており、オープンソースの Alertmanager Webhook フォーマットと互換性があります。
EventBridge イベントを利用してサードパーティプラットフォームに接続し、自動修復やチケットシステムの統合を実装できます。
ステップ 1:EventBridge リソースの作成
ARMS 統合を設定する前に、EventBridge でイベントバスとイベントソースを設定します。
カスタムイベントバスを作成します。詳細については、「カスタムイベントバスの管理」をご参照ください。イベントバスを作成した後、[イベントバスの概要] ページからパブリックエンドポイントをコピーします。この値はステップ 2 で必要になります。

イベントバスにカスタムイベントソースを追加します。詳細については、「カスタムイベントソースの管理」をご参照ください。イベントソース名をメモしておきます。この値もステップ 2 で必要になります。

ステップ 2:ARMS での EventBridge 統合の設定
ARMS コンソールにログインします。
左側のナビゲーションウィンドウで、[アラート管理] > [統合] を選択します。
[通知統合] タブをクリックし、次に [EventBridge] をクリックします。
[統合の追加] ダイアログボックスで、次のパラメーターを設定し、[保存] をクリックします。
パラメーター 説明 例 名前 この統合の表示名。 EventBridge integration説明 オプション。統合の簡単な説明。 -- エンドポイント ステップ 1 で作成したイベントバスのパブリックエンドポイント。 https://xxxx.eventbridge.cn-hangzhou.aliyuncs.comAccessKey ご利用の Alibaba Cloud アカウントの AccessKey ID。詳細については、「AccessKey ペアの取得」をご参照ください。 LTAI5tXxxAccessKey Secret ご利用の Alibaba Cloud アカウントの AccessKey Secret。詳細については、「AccessKey ペアの取得」をご参照ください。 xXxXxXxメッセージバス名 ステップ 1 で作成したイベントバスの名前。 armstestregionId イベントバスが存在するリージョン ID。 cn-hangzhouイベントソース名 ステップ 1 で作成したイベントソースの名前。 arms
ステップ 3:通知ポリシーの設定
EventBridge 統合を通知ポリシーに接続して、一致するアラートが EventBridge に転送されるようにします。
ARMS コンソールで、通知ポリシーの設定に移動します。
通知ポリシーを作成または編集します。[チケットシステム] フィールドで、ステップ 2 で作成した EventBridge 統合を選択します。
詳細については、「通知ポリシーの作成と管理」をご参照ください。
統合の検証
設定が完了したら、イベントが EventBridge に到達することを確認します:
EventBridge コンソールにログインします。
カスタムイベントバスを開き、受信イベントを確認します。詳細については、「イベントのクエリ」をご参照ください。
イベントペイロードを確認するには、[操作] 列の [イベント詳細] をクリックします。
イベントタイプ
ARMS は、アラートのライフサイクルアクションごとに 1 つのイベントを送信します。各イベントは、それぞれ異なる type 値を使用します。
| イベントコード | アラートアクション |
|---|---|
aliyun:arms:alarm:create | アラートのトリガー |
aliyun:arms:alarm:claim | クレーム済みアラート |
aliyun:arms:alarm:comment | アラートへのコメント追加 |
aliyun:arms:alarm:close | アラートのクリア |
通知ポリシーで設定された繰り返し通知は、DingTalk グループや Webhook などの通知受信者にのみ送信されます。繰り返し通知は、EventBridge への新しいイベント配信をトリガーしません。EventBridge は、アラートのステータスが変更された場合にのみイベントを配信しますが、繰り返し通知はステータスの変更ではなく、同じアラートの継続的な状態を反映するものです。
イベントペイロードのリファレンス
すべてのイベントは CloudEvents 1.0 仕様に準拠しています。data.data オブジェクトは、オープンソースの Alertmanager Webhook フォーマットと互換性があります。
トップレベルフィールド
| フィールド | タイプ | 説明 |
|---|---|---|
id | string | 一意のイベント ID。 |
source | string | イベントソース。常に arms です。 |
type | string | 上記の表のイベントコード。 |
specversion | string | CloudEvents のバージョン。常に 1.0 です。 |
datacontenttype | string | コンテンツタイプ。常に application/json です。 |
subject | string | ARMS コンソールにおけるアラートの一意の URL。 |
aliyuneventbusname | string | ターゲットイベントバスの名前。 |
aliyunregionid | string | イベントバスのリージョン ID。 |
aliyunaccountid | string | Alibaba Cloud アカウント ID。 |
aliyunpublishtime | string | イベントが公開されたときのタイムスタンプ (ISO 8601)。 |
aliyunoriginalaccountid | string | 元の Alibaba Cloud アカウント ID。 |
aliyunpublishaddr | string | イベントパブリッシャーの IP アドレス。 |
data | object | イベント固有のペイロード。以下をご参照ください。 |
data オブジェクトフィールド
| フィールド | タイプ | 含まれるイベント | 説明 |
|---|---|---|---|
owner | string | すべてのイベント | アラートのオーナー (通知ポリシーで指定された連絡先)。 |
handler | string | claim、comment、close | アラートのハンドラ。 |
operator | string | claim、comment、close | アクションを実行したユーザー。 |
comment | string | comment のみ | コメントの内容。 |
solution | string | close のみ | アラートをクリアする際に記録されたソリューション。 |
timestamp | number | すべてのイベント | UNIX タイムスタンプ (ミリ秒)。 |
data | object | すべてのイベント | Alertmanager 互換のアラートペイロード。以下をご参照ください。 |
data.data オブジェクトフィールド (Alertmanager 互換)
| フィールド | タイプ | 説明 |
|---|---|---|
status | string | firing または resolved。 |
level | string | アラートの深刻度レベル (例:P2)。 |
dispatchRuleName | string | ディスパッチルールの名前 (例:O&M チーム)。 |
startTime | string | アラートの開始時刻。 |
endTime | string | アラートの終了時刻。アラートが解決された場合にのみ存在します。 |
externalURL | string | ARMS コンソールのアラート詳細ページへの URL。 |
receiver | string | 受信者の識別子。 |
alerts | array | 個々のアラートオブジェクトの配列。 |
commonLabels | object | グループ内のすべてのアラートで共有されるラベル。 |
commonAnnotations | object | グループ内のすべてのアラートで共有されるアノテーション。 |
groupLabels | object | アラートのグルーピングに使用されるラベル。 |
alerts[] オブジェクトフィールド
| フィールド | タイプ | 説明 |
|---|---|---|
fingerprint | string | アラートを識別する一意のハッシュ。 |
status | string | firing または resolved。 |
startsAt | string | アラートの開始時刻 (ISO 8601)。 |
endsAt | string | アラートの終了時刻 (ISO 8601)。 |
labels | object | キーと値のペアのラベル。severity、regionId、alertname、および ARMS 固有のメタデータを含みます。 |
annotations | object | キーと値のペアのアノテーション。message を含みます。 |
各イベントタイプに固有のフィールド
Alertmanager 互換の data.data 構造は、すべてのイベントタイプで同じです。data オブジェクト内の以下のフィールドは、イベントタイプによって異なります:
| イベントタイプ | data |
|---|---|
アラートのトリガー (create) | owner |
アラートの要求 (claim) | owner、handler、operator |
コメントの追加 (comment) | owner、handler、operator、comment |
アラートのクリア (close) | owner、handler、operator、solution |
次のステップ
EventBridge とは -- EventBridge の概念とアーキテクチャについて学びます。