このトピックでは、Zabbix と Application Real-Time Monitoring Service (ARMS) のアラート管理機能を統合する方法について説明します。
前提条件
Zabbix 5.x のみがサポートされています。
ステップ 1:Zabbix 統合の作成
-
ARMS コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。
-
アラート統合 タブで、[Zabbix] をクリックします。
-
[Zabbix 統合の作成] ウィザードで、統合の名前と説明を入力し、自動回復時間を指定して、保存 をクリックします。
説明タイムアウト後の自動回復時間:指定した期間内にアラートイベントが再度トリガーされない場合、アラートイベントは自動的にクリアされます。
-
アラート統合 タブで、作成した Zabbix 統合を検索し、統合 URL をコピーします。
ステップ 2:Zabbix の設定
-
Zabbix がデプロイされているサーバーにログインし、次のコマンドを実行して Zabbix スクリプトパスを検索します:
cat /etc/zabbix/zabbix_server.conf | grep alertレスポンスの例:
[root@localhost ~]# cat /etc/zabbix/zabbix_server.conf | grep alert # Number of pre-forked instances of alerters. # Full path to location of custom alert scripts. # AlertScriptsPath=${datadir}/zabbix/alertscripts AlertScriptsPath=/usr/lib/zabbix/alertscripts [root@localhost ~]# -
cdコマンドを実行して、Zabbix スクリプトパスに切り替えます。 -
次のコマンドを実行して、ARMS アラート管理インストールパッケージをダウンロードします。
wget http://arms-public.oss-cn-shanghai.aliyuncs.com/alerts/aliyunalertmanager.tgz -
次のコマンドを実行して、インストールパッケージを解凍します。
tar -xzvf aliyunalertmanager.tgz -
インストールパッケージの bin ディレクトリに移動します。
cd aliyunalertmanager/bin -
次のコマンドを実行して、ARMS アラート管理をインストールします。
sh install.sh <integration_url><integration_url>を、ステップ 1 で取得した統合 URL に置き換えます。 -
インストール中に、プロンプトに従って Zabbix 管理 URL、管理者ユーザー名、およびパスワードを入力します。
(オプション) ステップ 3:統合の編集
ARMS アラート管理には、Zabbix アラートソースから ARMS アラートへのデフォルトのフィールドマッピングが含まれています。必要に応じて、統合の編集 ページでマッピングを追加または変更することもできます。
アラートソースの例:
{
"startat":"2021.09.09 20:13:57",
"eventId":"16874-9756",
"eventType":"trigger",
"message":"/: Used space in Zabbix server value is 81 GB, triggered an alarm disk usage trigger",
"hostname":"Zabbix server",
"ip":"127.0.0.1",
"severity":"Warning",
"value":"81 GB",
"metric":"vfs.fs.size[/,used]",
"itemName":"/: Used space",
"alertname":"disk usage trigger",
"eventUrl":"http://127.0.0.1/zabbix/tr_events.php?triggerid=16874&eventid=9756"
}
-
[アラート統合] タブで、管理する統合を見つけ、[操作] 列の [編集] をクリックします。
-
[イベントマッピング] セクションで、[テストデータの送信] をクリックします。
-
[テストデータの送信] ダイアログボックスで、サードパーティのアラートソースのアラートコンテンツを 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 件のデータレコードに対してのみ有効です。
-
-
設定が完了したら、[保存] をクリックします。
統合の検証
Zabbix に ARMS アラート管理をインストールすると、インストーラーは自動的にユーザー、ユーザーグループ、メディアタイプ、およびアクションを作成します。これにより、Zabbix で生成された新しいアラートイベントが自動的に ARMS アラート管理に報告されるようになります。
この統合では、インストール前に Zabbix で生成されたアラートイベントは報告されません。
次の手順を実行して、ARMS アラート管理が正常にインストールされたことを確認します。
-
Zabbix コンソールにログインします。
-
上部のメニューバーで、 を選択します。
ユーザー ページで、Aliyun Alert User が作成され、ユーザータイプが [Zabbix Super Admin]、ユーザーグループが [Aliyun Alert Group]、ステータスが [有効] であることを確認します。
-
上部のメニューバーで、 を選択します。
[ユーザーグループ] ページで、Aliyun Alert Group という名前のユーザーグループが存在し、メンバーとして Aliyun Alert User が含まれ、[有効] であることを確認します。
-
上部のメニューバーで、 を選択します。
[メディアタイプ] ページで、Aliyun Alert Media という名前のメディアタイプが存在し、そのタイプが [スクリプト]、ステータスが [有効]、スクリプト名が
aliyunalertmanager/bin/alert.shであることを確認します。 -
上部のメニューバーで、 を選択します。
動作 ページで、Aliyun Alert Action という名前のアクションが作成され、そのステータスが [有効] であり、その操作がすべてのメディアを通じて Aliyun Alert User にメッセージを送信することを確認します。
説明必要に応じて、Aliyun Alert Action アクションで報告されるアラートコンテンツをカスタマイズできます。
アラートイベントの詳細の表示
-
ARMS コンソールの左側のナビゲーションウィンドウで、 を選択します。
-
[アラートイベント履歴] ページで、アラートイベントの名前をクリックしてイベントの詳細を表示します。詳細については、「アラートイベント履歴の表示」をご参照ください。
統合の管理
左側のナビゲーションウィンドウで、 を選択します。[アラート統合] タブで、作成した統合に対して次の操作を実行できます:
-
統合の詳細の表示:統合を見つけて、その行をクリックします。[統合詳細] ページで、統合の詳細を表示します。
-
キーの更新:統合のキーを更新するには、統合を見つけ、操作 列で を選択し、表示されるダイアログボックスで 確認 をクリックします。
重要キーを更新した後は、ステップ 2 の手順に従って ARMS アラート管理を再インストールする必要があります。
-
統合の変更:統合を見つけて、[操作] 列の [編集] をクリックします。[統合詳細] ページで、統合情報を変更し、[保存] をクリックします。
-
統合の有効化/無効化:統合を見つけて、[操作] 列の [無効化] または [有効化] をクリックします。
-
統合の削除:統合を見つけて、[操作] 列の [削除] をクリックします。表示されるメッセージで、[OK] をクリックします。
-
統合へのイベント処理フローの追加:統合を見つけて、[操作] 列の [イベント処理フローの追加] をクリックします。詳細については、「イベント処理フロー」をご参照ください。
-
通知ポリシーの作成:通知ポリシーを作成したい統合を見つけ、[操作] 列の [その他] をクリックします。表示されるリストで、[通知ポリシーの作成] をクリックします。詳細については、「通知ポリシー」をご参照ください。
次のステップ
通知ポリシーを作成すると、システムは作成した通知ポリシーに基づいてアラートを生成し、報告されたアラートイベントのアラート通知を送信します。詳細については、「通知ポリシー」をご参照ください。[アラート送信履歴] ページでは、設定された通知ポリシーに基づいて生成されたアラートを表示できます。詳細については、「アラート送信履歴の表示」をご参照ください。