複雑な本番環境でアラートが発行されると、自動修復やチケットシステム連携などの自動化されたアクションをトリガーする必要が頻繁にあります。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 | アラートが解消された |
イベントペイロードのリファレンス
すべてのイベントは 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 team)。 |
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 の概念とアーキテクチャについて学びます。