Zabbix は一般的に使用されているオープンソースのモニタリングシステムで、システムのモニタリング用にさまざまなアラートルールを設定できます。 Zabbix は通知についても複数の方法をサポートしています。 Zabbix は、通知方法として Log Service のアラート取り込みシステムを設定できます。 これにより Zabbix のアラートを Log Service に取り込むことができ、 Log Service のアラートシステムでアラートのノイズが除去された上でアラート通知が送信されます。 このトピックは、Zabbix のバージョン 3.2~4.2 を対象としています。
始める前に
- アラート取り込みアプリケーションが作成されている必要があります。 アラート取り込みアプリケーションの [プロトコル] パラメーターは [Zabbix] に設定されています。 詳細については、「アラート取り込み用 Webhook URL の設定」をご参照ください。
- こちらをクリックして、alibaba_cloud_sls.py ファイルをダウンロードします。
Zabbix コンソールによるアラート通知方法の設定
- Zabbix がインストールされているサーバーに通知スクリプトをインストールします。
- Zabbix コンソールにログインします。
- Alibaba Cloud SLS という名前で通知方法を追加します。
- Action の作成
- 特定のユーザーの通知方法を設定します。
アラートの解析
Zabbix のアラートには、1 件あたり 100 を超えるマクロが含まれています。 詳細については、「Zabbix のドキュメント」をご参照ください。 Log Service によってアラート作成時に選択されるマクロは数十個だけです。 下表に、Zabbix アラートのマクロの例を示します。
Zabbix マクロ名 | 例 |
---|---|
{TRIGGER.ID} | 19006 |
{TRIGGER.NAME} | test used |
{EVENT.VALUE} | 1 |
{DATE} | 2021.06.10 |
{TIME} | 12:44:23 |
{EVENT.DATE} | 2021.06.10 |
{EVENT.TIME} | 19:23:01 |
{EVENT.RECOVERY.DATE} | "" |
{EVENT.RECOVERY.TIME} | "" |
{HOST.NAME} | zabbix-agent |
{HOST.IP} | 192.0.2.0 |
{TRIGGER.HOSTGROUP.NAME} | Linux servers |
{TRIGGER.DESCRIPTION} | システムの空きメモリが不足しています。 |
{EVENT.TAGS} | Application:Memory |
{TRIGGER.NSEVERITY} | 2 |
{EVENT.ID} | 1036 |
フィールドマッピング
Zabbix アラートが Log Service に取り込まれると、フィールドマッピングにより Log Service がサポートするアラートに変換されます。 下表に、Log Service のアラート属性と Zabbix のアラートフィールドのマッピングを示します。
Log Service | Zabbix | 説明 |
---|---|---|
aliuid | なし | アラート取り込みアプリケーションが属する Alibaba Cloud アカウントの ID。 |
alert_id | {TRIGGER.ID} | アラートモニタリングルールの ID。 |
alert_type | なし | アラートのタイプです。 有効な値は、sls_pub です。 |
alert_name | {TRIGGER.NAME} | アラートモニタリングルールのルール名。 |
status | {ALERT.SUBJECT} | アラートのステータス。 有効な値は、firing と resolved です。 |
next_eval_interval | なし | ジョブが繰り返される間隔。 有効値は 0 です。 |
alert_time | なし | アラートが最後に評価された日時。
alert_time フィールドの値は、{DATE} および {TIME} フィールドの値に基づいて算出されます。 |
fire_time | なし | アラートが初めてトリガーされた日時。
fire_time フィールドの値は、{EVENT.DATE} および {EVENT.TIME} フィールドの値に基づいて算出されます。 |
resolve_time | なし | アラートの解除日時。
|
labels | {HOST.NAME} | アラートのラベル。
アラート取り込みアプリケーションの作成時に [エンリッチメント] タブでラベルを追加すると、ラベルは labels フィールドに追加されます。
注 [エンリッチメント] タブで指定したラベルのキーが Zabbix アラートの tags フィールドのサブフィールドと同じ場合、[エンリッチメント] タブが優先されます。
|
annotations | {EVENT.TAGS} | Log Service による Zabbix アラートの取り込み後、{EVENT.TAGS} フィールドの値が複数のキーと値のペアに展開され、キーと値のペアが対応する Log Service アラートの annotations フィールドに追加されます。
Log Service のアラートの 対応する annotations フィールドに以下のフィールドが追加されます。
アラート取り込みアプリケーションの作成時に [エンリッチメント] タブで注釈を追加した場合、annotations フィールドに追加されます。 |
severity | {TRIGGER.NSEVERITY} | アラートの重大度。 詳細については、「表 2」をご参照ください。 |
policy | なし | アラート取り込みアプリケーションに指定されているアラートポリシー。 詳細については、「ポリシー変数のデータ構造」をご参照ください。 |
project | なし | アラートセンターが属するプロジェクト。 詳細については、「プロジェクト」をご参照ください。 |
drill_down_query | {$ZABBIX.SERVER.URL}、{TRIGGER.ID}、{EVENT.ID} | この値はリンクです。 リンクをクリックすると、Zabbix コンソールのアラート管理ページに移動します。 |
Zabbix における重大度 | Log Service における重大度 |
---|---|
Not Classified | report |
Information | low |
Warning | medium |
Average | medium |
High | high |
Disaster | critical |
よくある質問
操作ログを表示するにはどうすればよいですか。
- Zabbix コンソールにログインします。
- 上部のナビゲーションバーで、 を選択します。