ARMS のアラート管理は、HTTP 呼び出しが可能なあらゆるシステムからのアラートイベントを受け入れる API を提供します。この API を使用して、カスタムまたはサードパーティのモニタリングツールからのアラートを ARMS にレポートし、一元管理することができます。
この統合は、3 つのコアコンセプトに基づいています:
トリガー:アラートイベントを送信して、ARMS でアラートを作成または更新します。
解決:回復条件が満たされると、アラートを自動的にクリアします。
重複排除:同じフィールド値を持つイベントを単一のアラート通知にマージします。
前提条件
開始する前に、以下を確認してください:
ARMS が有効化されている Alibaba Cloud アカウント
HTTP POST リクエストを送信できるサードパーティのモニタリングシステムまたはカスタムツール
ステップ 1: カスタム統合の作成
ARMS コンソールにログインします。左側のナビゲーションウィンドウで、 [アラート管理] > [統合] を選択します。
[アラート統合] タブで、 [カスタム統合] をクリックします。
[カスタムイベント統合の作成] ダイアログボックスで、統合名を入力し、自動クリア期間を指定し、オプションで説明を追加します。 [保存して設定] をクリックします。
ステップ 2: API エンドポイントへのアラートイベントの送信
統合を作成すると、ARMS は API エンドポイントと API キーを生成します。
[統合詳細] ページの [スパン設定] セクションで、API エンドポイントと API キーをコピーします。

アラートソースから API エンドポイントに POST リクエストを送信します。
クイックスタート: 最小ペイロード
接続性を確認するために、可能な限り最小のペイロードを送信します:
curl -k -H "Content-Type: application/json" -d '{
"alertname": "test-alert",
"severity": "P2",
"message": "Test alert from custom source"
}' "https://alerts.aliyuncs.com/api/v1/integrations/custom/<your-api-key>"前のステップでコピーした API キーで <your-api-key> を置き換えてください。
601 とメッセージ Invalidincident,labels.alertnameisrequired を返します。これは想定内の動作です。まずステップ 3 でフィールドマッピングを設定してから、イベントを再送信してください。完全なペイロードの例
次の curl コマンドは、サーバーで TCP パケットエラーが発生するシナリオの完全なアラートイベントを送信します。ペイロードには、ネストされたメタデータと機器の配列が含まれています:
curl -k -H "Content-Type: application/json" -d '{
"trigger-type": "network",
"trigger-location": "cn-hangzhou",
"trigger-severity": "MAX",
"trigger-policy": "package errors > 5%",
"trigger-event": "inbound tcp package errors is 20%",
"trigger-check": "tcp package error percentage",
"trigger-value": "20",
"trigger-time": "1629702922000",
"metadata": [
{
"agent": "SERVER",
"ip": "141.219.XX.XX",
"fqdn": "websrv1.damenport.org",
"microServiceId": "ms-login-2251",
"accountId": "1504000433993",
"service": "login-0"
},
{
"agent": "CONTAINER",
"ip": "172.1.XX.XX",
"fqdn": "websrv2.damenport.org",
"microServiceId": "ms-login-2252",
"accountId": "129930302939",
"service": "login-1"
}
],
"equipments": [
{
"equipmentId": "112"
},
{
"equipmentId": "113"
}
]
}' "https://alerts.aliyuncs.com/api/v1/integrations/custom/<your-api-key>"次の表に、このペイロードの主要なフィールドを示します:
| フィールド | 説明 | 値の例 |
|---|---|---|
trigger-type | イベントタイプ | network |
trigger-severity | 重大度レベル (MAX、MID、または LOW) | MAX |
trigger-event | イベントの説明 | inbound tcp package errors is 20% |
trigger-time | 開始時刻 (ミリ秒単位の UNIX タイムスタンプ) | 1629702922000 |
metadata[*].agent | エージェントタイプ (SERVER または CONTAINER) | SERVER |
metadata[*].accountId | ユーザー ID (アラート通知には含まれません) | 1504000433993 |
次のプレースホルダーを実際の値に置き換えてください:
| プレースホルダー | 説明 | 例 |
|---|---|---|
<your-api-key> | スパンの設定 セクションの API キー | ymQBN****** |
ステップ 3: アラートフィールドマッピングの設定
フィールドマッピングは、アラートソースのフィールドが ARMS のアラートフィールドにどのように変換されるかを定義します。マッピングがないと、ARMS は受信イベントを解析できません。
テストデータの送信
[統合詳細] ページの [イベントマッピング] セクションで、 [テストデータの送信] をクリックします。
[テストデータの送信] ダイアログボックスで、アラートソースから JSON ペイロードを貼り付け、 [送信] をクリックします。
メッセージ [アップロード済み。イベントは生成されません。元のデータに基づいてマッピングを設定してください。] が表示された場合、フィールドはまだマッピングされていません。マッピングを設定する際のリファレンスとして、生データが左側のペインに表示されます。
「[アップロード済み。]」というメッセージが表示された場合、イベントは正常に報告されています。これを[アラート イベント履歴]ページで表示します。詳細については、「過去のアラート イベントを表示する」をご参照ください。

[テストデータの送信] ダイアログボックスで、 [無効化] をクリックします。
バッチ処理の設定 (オプション)
アラートデータに配列ノード (例: metadata) が含まれている場合、配列内のすべての要素をバッチとして処理できます。
[イベントマッピング] セクションの左側のペインで、データレコードをクリックして詳細を表示します。
右側のペインの [ルートノードの選択] で、 [バッチ処理を使用] を選択し、ルートノードとして使用する配列ノードを選択します。
バッチ処理がフィールドマッピングに与える影響:
バッチ有効 (例: ルートノードとして
metadata):すべての$.metadata[*].serviceの値が、ターゲットの ARMS フィールドに繰り返しマッピングされます。バッチ無効:特定の要素 (例:
$.metadata[0].serviceまたは$.metadata[1].service) のみがターゲットフィールドにマッピングされます。
アラート復旧イベントの設定 (オプション)
復旧イベントが到着したときにアラートを自動的にクリアするには、 [アラート復旧イベントの設定] を選択し、フィールド条件を定義します。
ARMS が条件に一致するイベントを受信すると、対応するアラートを検索してクリアします。条件フィールドは、イベントのアラート重大度と同等でなければなりません。$.severity フィールドは使用できません。
たとえば、条件 {$.eventType = "resolved"} は、統合内で eventType フィールドが resolved に等しいすべてのアラートをクリアします。
ソースフィールドと ARMS アラートフィールドのマッピング
[ソースフィールドをターゲットフィールドにマッピング] セクションで、各ソースフィールドを ARMS のアラートフィールドにマッピングします。
次の表に、ARMS のアラートフィールドを示します:
| アラートフィールド | 必須 | 説明 | マッピングメソッド | ソースフィールドの例 |
|---|---|---|---|---|
| alertname | はい | アラート名 | シリーズ | $.trigger-type と $.trigger-policy |
| severity | はい | アラートレベル。ソースの値を ARMS の値 (P1、P2、P3) に変換するためのマッピングテーブルが必要です。 | 直接 + マッピングテーブル | $.trigger-severity (MAX -> P1, MID -> P2, MIN -> P3) |
| message | いいえ | アラートの説明。通知内容として使用されます。最大 15,000 文字。 | 直接 | $.trigger-event |
| value | いいえ | サンプルメトリック値 | 直接 | $.trigger-value |
| imageUrl | いいえ | アラートに埋め込むための Grafana メトリックチャートの URL | - | - |
| check | いいえ | 確認項目 (CPU、JVM、アプリケーションクラッシュ、Deployment など) | 直接 | $.trigger-check |
| source | いいえ | アラートソース識別子 (通常は IP アドレス) | 直接 | $.metadata[*].ip |
| class | いいえ | アラートをトリガーするオブジェクトタイプ (例: host | 直接 | $.trigger-type |
| service | いいえ | ソースサービス名。条件付きマッピングをサポートします。 | 条件 | 以下の条件付きマッピングの例をご参照ください |
| startat | いいえ | イベント開始タイムスタンプ | 直接 | $.trigger-time |
| endat | いいえ | イベント終了タイムスタンプ | - | - |
| generatorUrl | いいえ | イベント詳細ページへのリンク URL | - | - |
マッピングメソッド
フィールドの横にあるマップアイコンをクリックして、これらのマッピングメソッドを切り替えます:
直接:1 つのソースフィールドを 1 つの ARMS フィールドに直接マッピングします。
直列:複数のソースフィールドをデリミタ (特殊文字のみ) で連結して 1 つの値にし、それを ARMS フィールドにマッピングします。たとえば、
$.trigger-typeと$.trigger-policyをアンダースコア (_) で結合するとnetwork_package errors > 5%が生成され、これがalertnameにマッピングされます。条件: 条件に基づいてソースフィールドをマッピングします。例:

$.metadata[*].agentがコンテナと等しい場合、$.metadata[*].microServiceIdを ARMS のserviceフィールドにマッピングします。もし
$.metadata[*].agentがSERVERに等しい場合、$.metadata[*].serviceを ARMS のserviceフィールドにマップします。
マッピングテーブル:ルックアップテーブルを介してソースの値を ARMS の値に変換します。
severityフィールドでのみ使用されます。

ステップ 4: 重複排除の設定
重複排除は、同じフィールド値を持つイベントを単一のアラート通知にマージし、ノイズを低減します。
[イベントの重複排除] セクションで、重複排除に使用するフィールドを選択します。たとえば、
$.metadata[*].ipがsourceにマッピングされ、$.trigger-checkがcheckにマッピングされている場合、sourceとcheckの両方を選択すると、同じ IP アドレスからの同じ確認項目のイベントが 1 つのアラートにマージされます。IP アドレスまたは確認項目が異なるイベントは、別々のままです。[重複排除テスト] をクリックして、グループ化の結果をプレビューします。
説明 テストは、 [イベントマッピング] セクションでアップロードされた最新の 10 件のデータレコードに対してのみ実行されます。
[保存] をクリックします。
統合の確認
構成を保存した後、[アラート管理] > [統合] に移動します。新しい統合が [アラート統合] タブに表示されていることを確認してください。

その他の操作
[アラート統合] タブでは、各統合に対して次の操作が利用できます:
| 操作 | 手順 |
|---|---|
| 詳細の表示 | 統合の行をクリックして [統合詳細] ページを開きます。 |
| API キーの更新 | [操作] 列で [その他] > [キーの更新] を選択し、 [OK] をクリックします。更新後、ステップ 2 で設定したアラートソースのエンドポイントを変更してください。 |
| 統合の編集 | [操作] 列の [編集] をクリックします。 [統合詳細] ページで設定を変更し、 [保存] をクリックします。 |
| 有効化または無効化 | [有効化] または [無効化] を [操作] 列でクリックします。 |
| 統合の削除 | [操作] 列の [削除] をクリックし、次に [OK] をクリックします。 |
| イベント処理フローの追加 | [操作] 列で、[イベント処理フローの追加] をクリックします。詳細については、「イベント処理フローの操作」をご参照ください。 |
| 通知ポリシーの作成 | 「[その他]」>「[通知ポリシーの作成]」を選択します([操作] 列内)。詳細については、「通知ポリシーの作成と管理」をご参照ください。 |
次のステップ
通知ポリシーを作成すると、システムはそのポリシーに基づいてアラートを生成し、アラート通知を送信します。 詳細については、「通知ポリシーを作成および管理する」をご参照ください。
[アラート送信履歴] ページで、設定した通知ポリシーに基づいて生成されたアラートを表示できます。詳細については、「履歴アラートの表示」をご参照ください。