Zabbix は、広く使用されているオープンソースのモニタリングシステムです。 Zabbix は、システムシステムモニタリング用のさまざまなアラートルールを備え、さまざまなアラート通知チャネルをサポートしています。 Zabbix で通知チャネルを追加すると、Zabbix から Log Service のアラートシステムにアラートを送信できます。 アラートシステムは、受信したアラートのノイズ除去やアラート通知の送信など、アラートの処理を行います。

始める前に

Zabbix の設定

重要 Zabbix 4.4 以降のバージョンのみサポートされています。
  1. Zabbix コンソールにログインします。
  2. オプション:グローバル変数 ZABBIX.SERVER.URL を設定します。
    ZABBIX.SERVER.URL を設定すると、アラートの一部として Log Service に送信されます。 Log Service が受信したアラートの変数をクリックすると、Zabbix コンソールにアクセスしてアラートの詳細を表示できます。

    ZABBIX.SERVER.URL に値が設定されていない場合、デフォルトで IP アドレス 127.0.0.1 がアラートに設定されます。

    1. 左側のナビゲーションペインで、[Administration] > [General] > [Macros] を選択します。
    2. [Macros] ページで、[Add] をクリックします。
    3. グローバル変数を ZABBIX.SERVER.URL を追加して、値を Zabbix コンソールの実際のアドレスに設定します。
      Zabbix のアラート
    4. [Update] をクリックします。
  3. [Alibaba Cloud SLS (Log Service)] タイプの通知チャネルを追加します。
    1. 左側のナビゲーションペインで、[Administration] > [Media types] をクリックします。
    2. [Media types] ページのの右上隅に表示される [Import] をクリックします。
    3. [Import] ダイアログボックスで、ダウンロード済みの alibaba_cloud_sls.yml ファイルを選択し、[Update existing] を選択して [Import] をクリックします。
      alibaba_cloud_sls.yml のインポート
    4. [Media types] ページで、[Alibaba Cloud SLS (Log Service] をクリックします 。
    5. [Parameters]を確認し、[hook_url] フィールドの値を変更して [Update] をクリックします。
      [hook_url] フィールドの値を、Log Service のアラート取り込みシステムでアラート取り込みサービスとアラート取り込みアプリケーションを作成した後に生成されるwebhook URL の 完全な URL に変更します。 詳細については、「webhook URL の取得」をご参照ください。
      Zabbix サーバーが Elastic Compute Service (ECS) インスタンスにデプロイされている場合は、ECS インスタンスが存在するリージョンを選択し、LAN または Virtual Private Cloud (VPC) 経由でアクセスできる内部エンドポイントを使用してリージョン情報を設定することを推奨します。 Zabbix サーバーが ECS インスタンスにデプロイされていない場合は、インターネット経由でリージョンにアクセス可能なパブリックエンドポイントを使用できます。
      hook_url
  4. 必要なユーザーの通知チャネルを指定します。
    1. 左側のナビゲーションペインで、[Administration] > [Users] を選択します。
    2. 必要なユーザーを確認してクリックします。
      [Create user] をクリックしてユーザーを作成することもできます。
    3. [Media] タブで必要なメディアを確認し、[Edit] をクリックします。
      [Add] をクリックしてメディアを作成することもできます。
    4. [Media] ダイアログボックスで、[Type][Alibaba Cloud SLS (Log Service) を設定し、[Update] をクリックします。
      通知チャネル
    5. [更新] をクリックします。
  5. トリガーを設定します。
    1. 左側のナビゲーションペインで、 [Configuration] > [Actions] > [Trigger actions] をクリックします。
    2. [Trigger actions] ページで、作成したトリガーをクリックします。
    3. [Operations] タブで、[Operations] セクションの [Add] パラメーターをクリックします。
      必要な Operation に対応する [Edit] をクリックすることもできます。 operation
    4. [Operation details] ダイアログボックスで、必要なユーザーまたはユーザーグループを選択し、[Send only to][Alibaba Cloud SLS (Log Service) を選択して[Add] をクリックします。
      Operationの追加
    5. [Update] をクリックします。

アラートの解析

1 件の Zabbix アラートには、100 を超える変数が含まれています。 詳細については、「Zabbix のドキュメント」をご参照ください。 Log Service で保持される変数は数十程度です。 下表に、Log Service で保持される変数を示します。

Zabbix macro 値の例
{TRIGGER.ID} 19006
{TRIGGER.NAME} test used
{EVENT.UPDATE.STATUS} 0
{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
{EVENT.DURATION} 20h 1m 31s
{TRIGGER.DESCRIPTION} The system is running out of free memory.
{EVENT.OPDATA} 73.22 %
{EVENT.TAGS} Application:Memory
{NSEVERITY} 2
{EVENT.ID} 1036

フィールドマッピング

下表に、Log Service と Zabbix 間のフィールドマッピングを示します。

表 1. フィールドマッピング
Log Service Zabbix 説明
aliuid なし アラート取り込みアプリケーションが属する Alibaba Cloud アカウントの ID。
alert_id {TRIGGER.ID} アラートモニタリングルールの ID。
alert_type なし アラートタイプ。 値は sls_pub に固定されています。
alert_name {TRIGGER.NAME} アラートモニタリングルールのルール名。
status {EVENT.UPDATE.STATUS} and {EVENT.VALUE} アラートのステータス。

Zabbix アラートの {EVENT.UPDATE.STATUS} および {EVENT.VALUE} が両方とも 0 の場合、ステータスは resolved です。子のステータスは、アラートがクリアされたことを示します。 値が 0 でない場合、ステータスは firing です。このステータスは、アラートがトリガーされたことを示します。

next_eval_interval なし アラートが評価される間隔。 値は 0 に固定されています。
alert_time なし 評価が実行された時刻。

時刻は {DATE} および {TIME} を使用して取得されます。

fire_time なし アラートルールが最初にトリガーされた時刻。

時刻は {EVENT.DATE} および {EVENT.TIME} を使用して取得されます。

resolve_time なし チャネルが作成された時刻。
  • アラートステータスが firing の場合、このフィールドの値は 0 です。
  • アラートステータスが resolved の場合、このフィールドの値は特定の時刻です。 時刻は {DATE} および {TIME} を使用して取得されます。
labels {HOST.NAME} アラートのラベル。
アラート取り込みアプリケーションの作成時に [エンリッチメント] タブでラベルを追加した場合、ラベルは [labels] フィールドに追加されます。
[エンリッチメント] タブで指定したラベルのキーが Zabbix アラートの [tags] フィールドと同じ場合、[エンリッチメント] タブが優先されます。
annotations {EVENT.TAGS} Zabbix アラートが Log Service に取り込まれると、Log Service は {EVENT.TAGS} フィールドを複数のキーバリューペアに拡張し、ペアを [annotations] フィールドに追加します。
  • {HOST.IP} は、__host_ip__ にマッピングされます。
  • {TRIGGER.HOSTGROUP.NAME} は、__host_group_name__ にマッピングされます。
  • {EVENT.DURATION} は、event_duration にマッピングされます。
  • {EVENT.NAME} は、title にマッピングされます。
  • {TRIGGER.DESCRIPTION} は、desc にマッピングされます。
  • {EVENT.OPDATA} は、event_opdata にマッピングされます。
上記のフィールドに加えて、以下のフィールドが追加されます。
  • __config_app__: "sls_pub_alert"
  • __pub_alert_service__: {アラート取り込みサービスの ID}
  • __pub_alert_app__: {アラート取り込みアプリケーションの ID}
  • __pub_alert_protocol__: "zabbix"
  • __pub_alert_region__: {アラートが送信されるエンドポイントのリージョン}

アラート取り込みアプリケーションの作成時に [エンリッチメント] タブにアノテーションを追加した場合、[annotations] フィールドに追加されます。

severity {NSEVERITY} アラートの重大度。 詳細については、「表 2」をご参照ください。
policy なし アラート取り込みアプリケーションに指定されているアラートポリシー。 詳細については、「ポリシー変数のデータ構造」をご参照ください。
project なし アラートセンターが属するプロジェクト。 詳細については、「プロジェクト」をご参照ください。
drill_down_query {$ZABBIX.SERVER.URL}{TRIGGER.ID}{EVENT.ID} Zabbix コンソールのアラート管理ページへのリンク。 リンクをクリックしてページに移動できます。
表 2. アラート重大度マッピング
Zabbix での重大度 Log Service での重大度
Not Classified report
Information low
Warning medium
Average medium
High high
Disaster critical

よくある質問

操作ログを表示するにはどうすればよいですか。

  1. Zabbix コンソールにログインします。
  2. 左側のナビゲーションペインで、[レポート] > [操作ログ] を選択します。
  3. 操作ログを確認します。
    操作ログ