このトピックでは、SkyWalking を Application Real-Time Monitoring Service (ARMS) のアラート管理サブサービスと統合する方法について説明します。
ステップ 1: SkyWalking 統合の作成
-
ARMS コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
- アラート統合 タブで、[SkyWalking] をクリックします。
- [SkyWalking 統合の作成] ウィザードで、統合の名前と説明を入力し、アラートイベントの自動回復時間を設定してから、保存 をクリックします。
説明
タイムアウト後の自動回復時間:指定した期間内にアラートイベントが再度トリガーされない場合、そのアラートイベントは自動的にクリアされます。
- アラート統合 タブで、作成した SkyWalking 統合を見つけ、その Webhook URL をコピーします。
ステップ 2: SkyWalking の設定
- SkyWalking がデプロイされているサーバーにログインし、SkyWalking のスクリプトが格納されているディレクトリに移動します。
cd /opt/sky/apache-skywalking-apm-bin/ - 次のコマンドを実行して、ディレクトリ内の config フォルダーを表示します。
ls config/ - 次のコマンドを実行して、config フォルダー内の alarm-settings.yml ファイルを変更します。
vim config/alarm-settings.yml - ステップ 1 で取得した URL を
webhookフィールドに追加します。webhook - https://alerts.aliyuncs.com/api/v1/skywalking/event/****** :wqコマンドを実行して、alarm-settings.yml ファイルへの変更を保存します。
(オプション) ステップ 3: 統合の変更
ARMS は、SkyWalking アラートソースと ARMS アラート間のデフォルトのフィールドマッピングを提供します。統合の編集 ページでマッピングを追加または変更することもできます。
アラートソースのサンプル:
{
"startTime":1630408697583,
"scope":"SERVICE_INSTANCE",
"scopeId":2,
"name":"932******@127.0.XX.XX of testApp",
"alarmMessage":"instance_jvm_cpu of 932******@127.0.XX.XX of testApp is more than 80 in 2 minutes of last 3 minutes",
"ruleName":"instance_jvm_cpu_rule",
"id1":"",
"id0":"YnNtLXdlYg==.1_OTMyYjU1NmVmM2Y1NGR====--7p862kYTliODA4MTk0ZTJlODcxMWFAMTAuMS4xMS4xNg=="
}
-
[アラート統合] タブで、管理したい統合を見つけ、[操作] 列の [編集] をクリックします。
-
[イベントマッピング] セクションで、[テストデータの送信] をクリックします。
-
[テストデータの送信] ダイアログボックスで、サードパーティのアラートソースのアラート内容を JSON 形式で入力し、[送信] をクリックします。
説明-
メッセージ [アップロードされました。イベントは生成されません。元のデータに基づいてマッピングを設定してください。] が表示された場合、アラートソースのフィールドは ARMS アラートイベントのフィールドにマッピングされていません。送信されたデータは左側のボックスに表示されます。これにより、マッピングを設定する際にソースフィールドを選択できます。
-
メッセージ [アップロードされました。] が表示された場合、アラート内容は [アラートイベント履歴] ページにレポートされます。詳細については、「アラートイベント履歴の表示」をご参照ください。
-
-
[テストデータの送信] ダイアログボックスで、[無効化] をクリックします。
-
[イベントマッピング] セクションの左側で、マッピングを設定したいデータレコードをクリックして詳細を表示します。
- イベントマッピング セクションの右側で、ソースフィールドを ARMS アラートフィールドにマッピングします。
-
オプション:[ルートノードの選択] セクションで、バッチ処理を有効にするかどうかを指定します。
アラートデータに配列ノードが存在する場合、その配列ノードをルートノードとして指定できます。ルートノードに属するデータはバッチ処理されます。
[バッチ処理の使用] を選択した後、バッチ処理する配列ノードをルートノードとして選択します。
説明アラートデータに複数の配列ノードが存在する場合、バッチ処理にはそのうちの 1 つの配列ノードしか選択できません。
-
[ソースフィールドをターゲットフィールドにマッピング] セクションで、アラートソースのフィールドを 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 コンソールの左側のナビゲーションウィンドウで、 を選択します。
-
[アラートイベント履歴] ページで、アラートイベントの名前をクリックしてイベントの詳細を表示します。詳細については、「アラートイベント履歴の表示」をご参照ください。
統合の管理
左側のナビゲーションウィンドウで、 を選択します。[アラート統合] タブで、作成した統合に対して次の操作を実行できます。
-
統合の詳細の表示:統合を見つけて、その行をクリックします。[統合の詳細] ページで、統合の詳細を表示します。
- キーの更新:変更したい統合について、操作 列で 確認 をクリックします。重要 キーを更新した後、ステップ 2 の説明に従って alarm-settings.yml
-
統合の変更:統合を見つけて、[操作] 列の [編集] をクリックします。[統合の詳細] ページで、統合情報を変更し、[保存] をクリックします。
-
統合の有効化または無効化:統合を見つけて、[操作] 列の [無効化] または [有効化] をクリックします。
-
統合の削除:統合を見つけて、[操作] 列の [削除] をクリックします。表示されるメッセージで、[OK] をクリックします。
-
統合へのイベント処理フローの追加:統合を見つけて、[操作] 列の [イベント処理フローの追加] をクリックします。詳細については、「イベント処理フロー」をご参照ください。
-
通知ポリシーの作成:通知ポリシーを作成したい統合を見つけ、[操作] 列の [その他] をクリックします。表示されるリストで、[通知ポリシーの作成] をクリックします。詳細については、「通知ポリシー」をご参照ください。
次のステップ
通知ポリシーを作成すると、システムは作成した通知ポリシーに基づいて、レポートされたアラートイベントに対してアラートを生成し、アラート通知を送信します。詳細については、「通知ポリシー」をご参照ください。[アラート送信履歴] ページで、設定した通知ポリシーに基づいて生成されたアラートを表示できます。詳細については、「アラート送信履歴の表示」をご参照ください。