このトピックでは、Simple Log Service のアラートを Application Real-Time Monitoring Service (ARMS) のアラート管理と統合する方法について説明します。
背景
アラート管理は、Webhook を使用して Simple Log Service と統合し、アラートを一元管理できます。
Simple Log Service とアラート管理の統合は、次の 2 つの方法で行えます。
-
方法 1 (レガシー): Simple Log Service の特定のプロジェクトからすべてのアラートをアラート管理に統合します。詳細については、「統合を作成して Simple Log Service に接続する」をご参照ください。
-
方法 2 (推奨): Simple Log Service から特定のアラートをアラート管理に統合します。詳細については、「統合を作成して Simple Log Service に接続する」および「Simple Log Service から特定のアラートルールを統合する」をご参照ください。
Simple Log Service 統合の作成
ARMS コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。
-
統合 ページで、アラート統合 タブをクリックし、次に Log Service をクリックします。
-
ダイアログボックスで、統合の名前と説明を入力し、アラートイベントの自動復旧タイムアウトを指定します。
説明指定された期間内にアラートイベントが再度トリガーされない場合、アラートイベントは自動的にクリアされます。
-
アラートイベントにアクセスするプロジェクト セクションの 全プロジェクト の下に表示されるすべての Simple Log Service プロジェクトの中から、アラートを統合したいプロジェクトを選択し、
アイコンをクリックして、保存 をクリックします。説明この機能は、選択したプロジェクトで構成されたすべてのアラートルールを自動的に反復処理し、アラートのリクエスト URL を
https://alerts.aliyuncs.com/api/v1/events/{{token}}として追加します。{{token}}変数は、統合の作成時に自動的に生成されるキーです。設定が完了すると、作成された Simple Log Service 連携をアラート統合 タブで表示できます。連携リストに [Simple Log Service 連携]という名前のレコードが表示されます。そのステータスは[有効]で、アクティビティは[準備完了]です。連携アドレスの横にある[コピー]をクリックして、連携キーアドレスをコピーします。[操作] 列では、[編集]、[削除]、[無効化]などの操作がサポートされています。
特定の Simple Log Service アラートルールの統合
特定のアラートルールを統合するには、既存の Simple Log Service 統合が必要です。
-
統合 ページの アラート統合 タブで、ターゲットの Simple Log Service 統合の統合 URL をコピーします。
-
Simple Log Service コンソールにログインします。
-
Project エリアで、目的のプロジェクトをクリックします。 左側のナビゲーションペインで、アラートアイコン
をクリックします。 -
アラートセンター ページで、 を選択します。Webhook の統合 ページで、作成 をクリックします。
-
表示されるダイアログボックスで、名前を [ARMS Alert Management] に設定し、タイプとして 汎用 Webhook を選択し、インターフェイスのプロンプトに従ってその他のパラメーターを設定して、ARMS Alert Management の一般的な Webhook を追加します。
-
アラートセンター ページで、 を選択します。 目的のテンプレートの 操作 列で、変更 をクリックします。 表示されるダイアログボックスで、[WebHook-Custom] タブをクリックし、メッセージ内容を設定してから 確認 をクリックします。
{ "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 | to_json | quote }}, "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.condition }}\n\n> [Message] Notification content\n\n> [Context] {{ alert.results[0].raw_results | to_json | quote | removeprefix('"') | removesuffix('"') }}\n\n> [View details]({{ alert.query_url }})" } -
アラートセンター ページで、アラートルール タブをクリックします。 対象ルールの 操作 列で、編集 をクリックします。 表示されるダイアログボックスで 詳細設定 を展開します。 [出力先] セクションで [SLS 通知] を選択します。 [アラートポリシー] セクションで、シンプルモード を選択します。 指示に従ってユニバーサル Webhook の通知チャネルを設定し、確定する をクリックします。
統合の編集
アラート管理では、Simple Log Service アラートソースとアラート管理間のフィールドマッピングが事前設定されています。必要に応じて、統合の編集 ページでフィールドマッピングを追加または変更することもできます。
[アラートの統合] タブで、管理する統合を見つけて、[編集] を [アクション] 列でクリックします。
[イベントマッピング] セクションで、[テストデータを送信] をクリックします。
[テストデータを送信] ダイアログボックスで、JSON 形式でサードパーティアラートソースのアラートコンテンツを入力し、[送信] をクリックします。
説明[アップロードされました。イベントは生成されません。元のデータに基づいてマッピングを設定してください。] というメッセージが表示された場合、アラートソースのフィールドは ARMS アラートイベントのフィールドにマッピングされていません。送信されたデータは左側のボックスに表示されます。これにより、マッピングを設定するときにソースフィールドを選択できます。
[アップロードされました。] というメッセージが表示された場合、アラート内容はアラートイベント履歴ページに報告されます。詳細については、「履歴アラートイベントを表示する」をご参照ください。
[テストデータの送信] ダイアログボックスで、[無効化] をクリックします。
[イベントマッピング] セクションの左側で、マッピングを設定するデータレコードをクリックして詳細を表示します。
[イベントマッピング] セクションの右側で、アラートソースと ARMS 間のフィールドマッピングを設定します。
オプション:[ルートノードを選択] セクションで、バッチ処理を有効にするかどうかを指定します。
アラートデータに配列ノードが存在する場合、配列ノードをルートノードとして指定できます。ルートノードに属するデータはバッチで処理されます。
バッチ処理を使用 を選択した後、バッチ処理する配列ノードをルートノードとして選択します。
説明アラートデータに複数の配列ノードが存在する場合、バッチ処理用に配列ノードを 1 つだけ選択できます。
オプション:[アラートリカバリイベントを設定] を選択し、アラートをクリアするためのフィールド条件を設定します。
ARMS はイベントを受信した後、指定されたフィールド値を含むアラートを検索し、これらのアラートをクリアします。アラートをクリアするために指定するフィールドは、イベントのアラート重大度に相当するフィールドである必要があります。
$.severityフィールドを使用してアラートをクリアすることはできません。たとえば、アラートをクリアするために指定するフィールドが{$.eventType ="resolved"}の場合、システムは連携で eventType の値が resolved であるすべてのアラートを自動的にクリアします。[ソースフィールドをターゲットフィールドにマップ] セクションで、アラートソースのフィールドを ARMS のアラートフィールドにマップします。
マッピングアイコンをクリックして、フィールドマッピングの方法を変更します。
直接: アラートソースの指定されたフィールドは、ARMS の指定されたアラートフィールドに直接マッピングされます。
シリーズ: デリミタを使用してアラートソースの複数のフィールドを 1 つのフィールドに連結し、このフィールドを ARMS の指定されたアラートフィールドにマッピングできます。特殊文字のみをデリミタとして使用できます。
条件付き: 指定されたアラートソースフィールドは、フィールド値が指定された条件を満たす場合にのみ、ARMS アラートフィールドにマッピングされます。
マッピングテーブル: アラートソースの重大度は ARMS アラートの重大度にマッピングされます。マッピングテーブルには、重大度フィールドのみが含まれています。
次の表に、ARMS のアラートフィールドを示します。
アラートフィールド
説明
alertname
カスタムアラートの名前。
severity
アラートの重大度レベル。このフィールドのマッピングを設定する必要があります。マッピング方法は「直接」に設定する必要があります。
message
アラートの説明。説明は、アラートメッセージの内容として使用されます。説明は 15,000 文字を超えることはできません。
value
メトリックのサンプル値。
imageUrl
Grafana メトリックを含む折れ線グラフの URL。URL は、折れ線グラフをマッピングするために使用されます。
check
アラートのチェック項目。例: CPU、JVM、アプリケーションクラッシュ、デプロイメント。
source
アラートのソース。
class
アラートイベントをトリガーするオブジェクトのタイプ。例: ホスト。
service
アラートのソースサービス。例: ログインサービス。
startat
イベントの開始日時を表すタイムスタンプ。
endat
イベントの終了日時を表すタイムスタンプ。
generatorUrl
イベント詳細の URL。
アラートイベントのフィールド重複排除を設定します。
重複データを削減するために、システムは関連フィールドを重複排除の基準として使用します。ARMS アラート管理では、[イベントマッピング] セクションに表示される履歴イベントデータの重複排除グループ化結果をプレビューできます。重複排除されるフィールドを変更できます。
説明クリアされていないイベントに対してのみ重複排除を設定できます。
[イベントの重複排除] ページの [連携の詳細] セクションで、重複排除に使用するフィールドを選択します。
複数のイベントが指定されたフィールドで同じ値を持つ場合、イベントは 1 つのアラート通知にマージされます。
[重複排除テスト] をクリックして、重複排除後のアラートグループをプレビューします。
説明重複排除テストは、[イベントマッピング] セクションの左側にアップロードされた最新の 10 件のデータレコードに対してのみ有効です。
設定が完了したら、[保存] をクリックします。
アラートイベントの詳細を表示する
ARMS コンソールの左側のナビゲーションウィンドウで、 を選択します。
[アラートイベント履歴] ページで、アラートイベントの名前をクリックしてイベント詳細を表示します。詳細については、「履歴アラートイベントを表示する」をご参照ください。
統合へのプロジェクトの追加
既存の Simple Log Service 統合に新しいプロジェクトからのアラートを追加するには、次の手順に従います。
-
統合 ページで、目的の Simple Log Service 統合を見つけ、操作列で を選択します。
-
表示されるダイアログボックスで、アラートを受信するプロジェクトを選択し、
アイコンをクリックし、保存 をクリックします。
統合の管理
左側のナビゲーションウィンドウで、 を選択します。[アラート統合] タブで、作成した統合に対して次の操作を実行できます。
統合の詳細を表示する: 統合を見つけて、行をクリックします。[統合の詳細] ページで、統合の詳細を表示します。
-
キーの更新: 統合のキーを修正するには、対象の統合の操作列でを選択し、表示されるダイアログボックスで確認をクリックします。
重要キーを更新した後、Simple Log Service のプロジェクトアラートを再度追加します。詳細については、「プロジェクトの追加」をご参照ください。
統合を変更する: 統合を見つけて、[アクション] 列の [編集] をクリックします。[統合の詳細] ページで、統合情報を変更し、[保存] をクリックします。
統合を有効または無効にする: 統合を見つけて、[アクション] 列の [無効化] または [有効化] をクリックします。
統合を削除する: 統合を見つけて、[アクション] 列の [削除] をクリックします。表示されるメッセージで、[OK] をクリックします。
統合にイベント処理フローを追加する: 統合を見つけて、[アクション] 列の [イベント処理フローを追加] をクリックします。詳細については、「イベント処理フローを操作する」をご参照ください。
通知ポリシーを作成する: 通知ポリシーを作成する統合を見つけて、[アクション] 列の [詳細] をクリックします。表示されるリストで、[通知ポリシーを作成] をクリックします。詳細については、「通知ポリシーを作成および管理する」をご参照ください。
次のステップ
通知ポリシーを作成した後、システムは、作成した通知ポリシーに基づいて、報告されたアラートイベントのアラートを生成し、アラート通知を送信します。詳細については、「通知ポリシーを作成および管理する」をご参照ください。[アラート送信履歴] ページで、設定された通知ポリシーに基づいて生成されたアラートを表示できます。詳細については、「アラート履歴を表示する」をご参照ください。