Simple Log Service のアラートを Webhook 経由で Application Real-Time Monitoring Service (ARMS) アラート管理に転送します。これにより、アラートのトリアージ、重複排除、および応答が一元化され、複数のソースからのアラートを1か所で管理できます。
仕組み
この統合は、Simple Log Service を ARMS アラート管理に3つの段階で接続します。
取り込み -- ARMS は一意の Webhook URL を生成します。Simple Log Service はアラートペイロードをこの URL に投稿します。
マッピングと重複排除 -- ARMS は受信フィールドを標準のアラートスキーマにマッピングし、重複するイベントを単一の通知にマージして、アラートノイズを低減します。
通知 -- 通知ポリシーは、処理されたアラートを設定したチャンネルと担当者にルーティングします。
統合方法の選択
| 方法 | 範囲 | 使用するタイミング |
|---|---|---|
| すべてのプロジェクトアラート | 選択した Simple Log Service プロジェクト内のすべてのアラートルール | プロジェクトからのすべてのアラートが関連する場合のクイックセットアップ |
| 特定のアラートルール (推奨) | 選択したアラートルールのみ | ARMS に到達するアラートをきめ細かく制御する場合 |
どちらの方法も、ARMS で統合を作成することから始まります。特定のアラートルールを使用する方法では、Simple Log Service コンソールで Webhook 構成ステップが追加されます。
前提条件
開始する前に、次のことを確認してください。
ARMS コンソールと Simple Log Service コンソールの両方にアクセスできる Alibaba Cloud アカウント
アラートルールが構成されている Simple Log Service プロジェクトが少なくとも1つあること
統合の作成
ステップ1: ARMS での統合設定
ARMS コンソールにログインします。左側のナビゲーションウィンドウで、[アラート管理] > [統合] を選択します。
[アラート統合]タブで、 [Log Service] をクリックします。
名前と説明を入力し、自動復旧時間を設定します。
説明指定された復旧期間内にアラートイベントが再トリガーされない場合、ARMS は自動的にクリアします。
「アラートイベントを有効化するプロジェクト」セクションで、「すべてのプロジェクト」リストからアラートを統合したいプロジェクトを選択し、
アイコンをクリックしてから、[保存] をクリックします。説明ARMS は、選択したプロジェクト内のすべてのアラートルールを走査し、そのリクエスト URL を
https://alerts.aliyuncs.com/api/v1/cm/callback/{{token}}に書き換えます。ここで、{{token}}は統合の作成時に自動的に生成されるキーです。
保存後、新しい統合が [アラート統合] タブに表示されます。

「すべてのプロジェクトアラート」を選択した場合、セットアップは完了です。イベント処理をカスタマイズするには、「フィールドマッピングの構成」に進むか、通知を設定するには「次のステップ」をスキップしてください。
「特定のアラートルール」を選択した場合は、ステップ2に進みます。
ステップ2: Simple Log Serviceからの特定アラートルールの転送
特定の`アラートルール`を追加する前に、Simple Log Service 統合が ARMS にすでに存在している必要があります。まずステップ1を完了してください。
ARMS で
[アラート統合] タブで、Simple Log Service 統合を見つけ、その URL をコピーします。
Simple Log Service で
Simple Log Service コンソールにログインします。
[プロジェクト] セクションで、目的のプロジェクト名をクリックします。 左側のナビゲーションウィンドウで、
アイコンをクリックします。[アラートセンター]ページで、を選択し、[作成]をクリックします。
[名前] を
アラート管理に設定し、[タイプ] を [ユニバーサル Web フック] に設定します。プロンプトに従って残りのフィールドを入力してください。[通知ポリシー] > [アラートテンプレート] を選択します。 アラートテンプレートを見つけ、[操作] 列の [編集] をクリックします。 [Webhook-カスタム] タブで、次の JSON を貼り付け、[確認] をクリックします。
{ "uid": "{{ alert.aliuid }}", "project": "{{ alert.project }}(https://sls.console.alibabacloud.com/#/project/{{ alert.project }}/categoryList)", "trigger": "{{ alert.alert_name }}", "condition": "{{ alert.condition }}", "context": "{{ alert.results[0].raw_results }}", "message": " [Uid] {{ alert.aliuid }}\n\n> [Project] [{{ alert.project }}](https://sls.console.alibabacloud.com/#/project/{{ alert.project }}/categoryList)\n\n> [Trigger] {{ alert.alert_name }}\n\n> [Condition] {{ alert.alert_name }}\n\n> [Message] Notification Content\n\n> [Context] {{ alert.results[0].raw_results }}\n\n> [View Details]({{ alert.query_url }})" }[アラートルール] タブをクリックします。対象のアラートルールを見つけ、[操作] 列の [編集] をクリックします。[詳細設定] を展開し、[送信先] を [Simple Log Service 通知] に、[アラートポリシー] を [シンプルモード] に設定し、プロンプトに従って Webhook 通知方法を設定して、[OK] をクリックします。
フィールドマッピングの構成
ARMS は、Simple Log Service アラートペイロードと ARMS アラートイベント間のデフォルトのフィールドマッピングを提供します。アラートスキーマに一致するように、統合の編集ページでこれらのマッピングを変更します。
テストデータの送信
マッピングを調整する前にサンプルデータを送信して、エディターが実際のフィールドを操作できるようにします。
[アラート統合] タブで、統合を検索して、[編集] をクリックします。
[イベント マッピング] セクションで、[テストデータの送信] をクリックします。
JSON フォーマットでアラートの内容を貼り付け、[送信] をクリックします。
「アップロードされました。イベントは生成されません。元のデータに基づいてマッピングを構成してください。」 -- フィールドはまだマッピングされていません。生のペイロードは参考のために左ペインに表示されます。
「アップロードされました。」 -- データは受理され、[アラートイベント履歴] ページに表示されます。「アラートイベント履歴の表示」をご参照ください。
テストモードを終了するには、[テストデータの送信] ダイアログで [無効化] をクリックします。
ルートノードの選択 (オプション)
アラートペイロードに配列ノードが含まれている場合、各配列要素が個別のイベントとして処理されるように、それをルートノードとして指定します。
一度にバッチ処理用に選択できる配列ノードは1つだけです。
「[ルートノードの選択]」セクションで、「[バッチ処理の使用]」を選択し、配列ノードを選択します。
アラート復旧イベントの構成 (オプション)
[アラート回復イベントの設定] を選択し、アクティブなアラートをクリアするフィールド条件を定義します。ARMS がこれらの条件に一致するイベントを受信すると、対応するアラートをクリアします。
アラートをクリアするために使用されるフィールドは、$.severity フィールド自体ではなく、アラート重大度に相当するステータス概念を表す必要があります。たとえば、条件を {$.eventType = "resolved"} に設定すると、この統合で eventType 値が resolved であるすべてのアラートがクリアされます。
ソースフィールドからターゲットフィールドへのマッピング
[ソースフィールドをターゲットフィールドにマップ] セクションで、各アラートソースフィールドを ARMS アラートフィールドにマップします。マッピングアイコンをクリックしてマッピングメソッドを切り替えます:
| 方法 | 説明 |
|---|---|
| 直接 | 1つのソースフィールドを1つの ARMS フィールドに直接マッピングします。 |
| シリーズ | デリミタ (特殊文字のみ) を使用して複数のソースフィールドを連結し、その結果を1つの ARMS フィールドにマッピングします。 |
| 条件付き | 指定された条件が満たされた場合にのみ、ソースフィールドを ARMS フィールドにマッピングします。 |
| マッピングテーブル | severityアラートソースの重大度値を ARMS の重大度レベルにマッピングします。severity フィールドでのみ利用可能です。 |
ARMS アラートフィールドリファレンス
| フィールド | 説明 | 備考 |
|---|---|---|
alertname | カスタムアラート名。 | |
severity | 重大度レベル。 | [ダイレクト] マッピングメソッドを使用する必要があります。 |
message | 通知メッセージ本文として使用されるアラートの説明。 | 最大15,000文字。 |
value | サンプルメトリック値。 | |
imageUrl | アラートに表示される Grafana メトリック折れ線グラフの URL。 | |
check | CPU、JVM、アプリケーションクラッシュ、デプロイメントなどのチェック項目。 | |
source | アラートソース。 | |
class | hostなど、アラートイベントをトリガーするオブジェクトタイプ。 | |
service | ログインサービスなどのソースサービス。 | |
startat | イベント開始時刻のタイムスタンプ。 | |
endat | イベント終了時刻のタイムスタンプ。 | |
generatorUrl | イベント詳細へのリンク URL。 |
イベント重複排除の構成
重複排除は、同じフィールド値を共有するイベントを単一のアラート通知にマージし、ノイズとアラート疲労を軽減します。
重複排除は、アクティブな (クリアされていない) イベントにのみ適用されます。
[イベント重複排除]セクションで、重複排除に使用するフィールドを選択します。
[重複排除テスト] をクリックして、重複排除後のイベントのグループ化方法をプレビューします。
説明このテストは、イベント マッピング セクションで最も最近アップロードされた 10 件のレコードに対して実行されます。
構成を適用するには、[保存] をクリックします。
既存の統合にプロジェクトを追加する
既存の統合に Simple Log Service プロジェクトを追加するには、次の手順を実行します。
[アラート統合] タブで統合を見つけ、[アクション] 列で [その他] > [サービスの選択] を選択します。
[プロジェクトの選択] ダイアログで、プロジェクトを選択し、
アイコンをクリックし、[保存] をクリックします。
アラートイベント詳細の表示
ARMS コンソールで、アラート管理 > アラートイベント履歴 を選択します。
アラートイベント名をクリックして、詳細を表示します。詳細については、「過去のアラートイベントを表示」をご参照ください。
統合の管理
[アラート統合] タブでは、各統合で以下の操作を利用できます。
| 操作 | 手順 |
|---|---|
| 詳細を表示 | 統合行をクリックして、[統合の詳細] ページを開きます。 |
| キーの更新 | 詳細[キーの更新][OK] > を選択し、 をクリックします。更新後、プロジェクトアラートを統合に再追加します。「既存の統合にプロジェクトを追加する」をご参照ください。 |
| [編集] | [アクション] 列の [編集] をクリックし、[統合詳細] ページで設定を変更して、[保存] をクリックします。 |
| 有効化または無効化 | 「アクション」列で、[有効化] または [無効化] をクリックします。 |
| 削除 | 「操作」列の[削除]をクリックし、[OK]をクリックして確認します。 |
| イベント処理フローの追加 | [アクション] 列の [イベント処理フローの追加] をクリックします。詳細については、「イベント処理フローの操作」をご参照ください。 |
| 通知ポリシーの作成 | [その他] > [通知ポリシーの作成] を選択します。「通知ポリシーの作成と管理」をご参照ください。 |
次のステップ
統合がアクティブになったら、ARMS が受信イベントに対してアラートを生成し、通知をルーティングするように、通知ポリシーを作成します。詳細については、「通知ポリシーの作成と管理」をご参照ください。
過去の通知を確認するには、「過去のアラートを表示する」をご参照ください。