zabbix

Supported OS Linux Windows

Integrationv1.1.0

概要

Zabbix に接続して

  • Datadog Agent を介して Zabbix を監視します。
  • Zabbix アラートを Datadog に送信して、アラートを Datadog イベントストリームのイベントとして表示します。

セットアップ

Zabbix チェックは Datadog Agent パッケージに含まれていないため、お客様自身でインストールする必要があります。

インストール

Agent v7.21 / v6.21 以降の場合は、下記の手順に従い Zabbix チェックをホストにインストールします。Docker Agent または 上記バージョン以前の Agent でインストールする場合は、コミュニティインテグレーションの使用をご参照ください。

  1. 以下のコマンドを実行して、Agent インテグレーションをインストールします。

    datadog-agent integration install -t datadog-zabbix==<INTEGRATION_VERSION>
    
  2. コアのインテグレーションと同様にインテグレーションを構成します。

コンフィギュレーション

  1. Zabbix サーバーのタイムゾーンが UTC に設定されていることを確認してください。Zabbix のタイムゾーンの詳細については、Zabbix ドキュメントを参照してください。

  2. Zabbix のパフォーマンスデータを収集するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの zabbix.d/conf.yaml ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル zabbix.d/conf.yaml を参照してください。

  3. Agent を再起動します

イベント収集

Datadog メディアタイプを作成する
  1. Administration > Media Types > Create Media Type に移動します。
  2. Zabbix テンプレート変数を使用して、Webhook にパラメータを追加します。Datadog の api_key と以下の Zabbix テンプレート変数をパラメータとして追加します。
パラメーター
api_keyYour Datadog API key
event_date{EVENT.DATE}
event_name{EVENT.NAME}
event_nseverity{EVENT.NSEVERITY}
event_tags{EVENT.TAGSJSON}
event_time{EVENT.TIME}
event_value{EVENT.VALUE}
item_name{ITEM.NAME}
alert_message{ALERT.MESSAGE}
alert_subject{ALERT.SUBJECT}
  1. NameDatadog に、TypeWebhook に設定し、次のコードを Script として入力します。
    try {
        Zabbix.Log(4, '[datadog webhook] received value=' + value);

        var params = JSON.parse(value);
        var req = new CurlHttpRequest();
        req.AddHeader('Content-Type: application/json');
        var webhook_url = 'https://app.datadoghq.com/intake/webhook/zabbix?api_key=' + params.api_key;
        var webhook_data = value;
        var resp = req.Post(webhook_url, webhook_data);
        if (req.Status() != 202) {
            throw 'Response code: '+req.Status();
        }
        Zabbix.Log(4, '[datadog webhook] received response with status code ' + req.Status() + '\n' + resp);
    } catch (error) {
        Zabbix.Log(4, '[datadog webhook] event creation failed json : ' + webhook_data)
        Zabbix.Log(4, '[datadog webhook] event creation failed : ' + error);
    }
    return JSON.stringify({});
  1. “Test” ボタンを使用して、Webhook が正しく設定されていることを確認します。
Webhook メディアを既存のユーザーに割り当てます
  1. Webhook メディアタイプを設定した後、Administration > Users に移動し、Webhook を表す専用の Zabbix ユーザーを作成します。たとえば、Datadog Webhook のエイリアス Datadog を使用します。このユーザーは Zabbix にログインしないため、メディアを除くすべての設定をデフォルトのままにしておくことができます。
  2. ユーザープロファイルで、Media タブに移動し、必要な連絡先情報を含む Webhook を追加します。Webhook が送信先フィールドを使用しない場合は、サポートされている文字の任意の組み合わせを入力して、検証要件をバイパスします。
  3. このユーザーに、アラートを送信する必要があるすべてのホストに少なくとも読み取りアクセス許可を付与します。
Webhook のアラートアクションを構成します
  1. Configuration > Actions に移動します。
  2. ページタイトルのドロップダウンから、必要なアクションタイプを選択します。
  3. Create Action をクリックします。
  4. アクションに名前を付けます。
  5. 操作を実行する条件を選択します。
  6. 実行する操作を選択します。

検証

Agent のステータスサブコマンドを実行し、Checks セクションで zabbix を探します。

収集データ

メトリクス

zabbix.processed.floats_per_sec
(gauge)
Number of processed numeric (float) values per second
Shown as unit
zabbix.processed.per_sec
(gauge)
Number of processed values per second
Shown as unit
zabbix.processed.characters_per_sec
(gauge)
Number of processed character values per second
Shown as unit
zabbix.processed.logs_per_sec
(gauge)
Number of processed log values per second
Shown as unit
zabbix.processed.unsigned_per_sec
(gauge)
Number of processed numeric (unsigned) values per second
Shown as unit
zabbix.processed.text_per_sec
(gauge)
Number of processed text values per second
Shown as unit
zabbix.processed.unsupported_per_sec
(gauge)
Number of processed not supported values per second
Shown as unit
zabbix.process.internal.alerter
(gauge)
Utilization of alerter internal processes, in %
Shown as percent
zabbix.process.internal.config_sync
(gauge)
Utilization of configuration syncer internal processes, in %
Shown as percent
zabbix.process.internal.escalator
(gauge)
Utilization of escalator internal processes, in %
Shown as percent
zabbix.process.internal.history_sync
(gauge)
Utilization of history syncer internal processes, in %
Shown as percent
zabbix.process.internal.housekeeper
(gauge)
Utilization of housekeeper internal processes, in %
Shown as percent
zabbix.process.data_collector.discoverer
(gauge)
Utilization of discoverer data collector processes, in %
Shown as percent
zabbix.process.data_collector.http_poller
(gauge)
Utilization of http poller data collector processes, in %
Shown as percent
zabbix.process.data_collector.icmp_pinger
(gauge)
Utilization of icmp pinger data collector processes, in %
Shown as percent
zabbix.process.data_collector.ipmi_poller
(gauge)
Utilization of ipmi poller data collector processes, in %
Shown as percent
zabbix.process.data_collector.java_poller
(gauge)
Utilization of java poller data collector processes, in %
Shown as percent
zabbix.process.data_collector.poller
(gauge)
Utilization of poller data collector processes, in %
Shown as percent
zabbix.process.data_collector.proxy_poller
(gauge)
Utilization of proxy poller data collector processes, in %
Shown as percent
zabbix.process.internal.self_monitoring
(gauge)
Utilization of self-monitoring internal processes, in %
Shown as percent
zabbix.process.data_collector.snmp_trapper
(gauge)
Utilization of snmp trapper data collector processes, in %
Shown as percent
zabbix.process.internal.timer
(gauge)
Utilization of timer internal processes, in %
Shown as percent
zabbix.process.data_collector.trapper
(gauge)
Utilization of trapper data collector processes, in %
Shown as percent
zabbix.process.data_collector.unreachable_poller
(gauge)
Utilization of unreachable poller data collector processes, in %
Shown as percent
zabbix.queue.duration_10
(gauge)
Zabbix queue over 10 minutes
Shown as unit
zabbix.queue.size
(gauge)
Zabbix queue
Shown as unit
zabbix.cache.config
(gauge)
Zabbix configuration cache, % used
Shown as percent
zabbix.cache.write
(gauge)
Zabbix history write cache, % used
Shown as percent
zabbix.cache.index
(gauge)
Zabbix history index cache, % used
Shown as percent
zabbix.cache.write_trend
(gauge)
Zabbix trend write cache, % used
Shown as percent
zabbix.agent.ping
(gauge)
Zabbix agent ping
Shown as unit
zabbix.process.data_collector.vmware
(gauge)
Utilization of vmware data collector processes, in %
Shown as percent
zabbix.cache.value
(gauge)
Zabbix value cache, % used
Shown as percent
zabbix.cache.value.hits
(gauge)
Zabbix value cache hits
Shown as hit
zabbix.cache.value.misses
(gauge)
Zabbix value cache misses
Shown as miss
zabbix.cache.vmware
(gauge)
Zabbix vmware cache, % used
Shown as percent
zabbix.cache.operating_mode
(gauge)
Zabbix value cache operating mode
Shown as unit
zabbix.process.internal.task_manager
(gauge)
Utilization of task manager internal processes, in %
Shown as percent
zabbix.process.internal.ipmi_manager
(gauge)
Utilization of ipmi manager internal processes, in %
Shown as percent
zabbix.process.internal.alert_manager
(gauge)
Utilization of alert manager internal processes, in %
Shown as percent
zabbix.process.internal.preprocessing_manager
(gauge)
Utilization of preprocessing manager internal processes, in %
Shown as percent
zabbix.process.internal.preprocessing_worker
(gauge)
Utilization of preprocessing worker internal processes, in %
Shown as percent
zabbix.queue.preprocessing
(gauge)
Zabbix preprocessing queue
Shown as unit
zabbix.queue.lld
(gauge)
Zabbix LLD queue
Shown as unit
zabbix.process.internal.lld_manager
(gauge)
Utilization of LLD manager internal processes, in %
Shown as unit
zabbix.process.internal.lld_worker
(gauge)
Utilization of LLD worker internal processes, in %
Shown as percent
zabbix.cpu.count
(gauge)
Number of CPUs
Shown as unit
zabbix.cpu.iowait_time
(gauge)
CPU iowait time
zabbix.context_switches_per_sec
(gauge)
Context switches per second
zabbix.cpu.guest_nice_time
(gauge)
CPU guest nice time
zabbix.cpu.guest_time
(gauge)
CPU guest time
zabbix.cpu.softirq_time
(gauge)
CPU softirq time
zabbix.cpu.interrupt_time
(gauge)
CPU interrupt time
zabbix.cpu.steal_time
(gauge)
CPU steal time
zabbix.cpu.nice_time
(gauge)
CPU nice time
zabbix.load.avg.1_min
(gauge)
Load average (1m avg)
zabbix.cpu.user_time
(gauge)
CPU user time
zabbix.cpu.system_time
(gauge)
CPU system time
zabbix.cpu.idle_time
(gauge)
CPU idle time
zabbix.load.avg.15_min
(gauge)
Load average (15m avg)
zabbix.load.avg.5_min
(gauge)
Load average (5m avg)
zabbix.interrupts_per_sec
(gauge)
Interrupts per second
zabbix.memory.avail_percent
(gauge)
Available memory in %
zabbix.memory.total
(gauge)
Total memory
zabbix.memory.avail
(gauge)
Available memory
zabbix.swap_space.total
(gauge)
Total swap space
zabbix.swap_space.free
(gauge)
Free swap space
zabbix.swap_space.free_percent
(gauge)
Free swap space in %
zabbix.system.uptime
(gauge)
System uptime
zabbix.system.boot_time
(gauge)
System boot time
zabbix.system.local_time
(gauge)
System local time
zabbix.user.logged_in
(gauge)
Number of logged in users
zabbix.open_fd.max
(gauge)
Maximum number of open file descriptors
zabbix.processes_max
(gauge)
Maximum number of processes
zabbix.processes_count
(gauge)
Number of processes
zabbix.processes_running_count
(gauge)
Number of running processes
zabbix.cpu.used
(gauge)
CPU utilization
zabbix.agent.avail
(gauge)
Zabbix agent availability
zabbix.process.internal.alert_sync
(gauge)
Utilization of alert syncer internal processes, in %
Shown as percent
zabbix.memory.used
(gauge)
Memory utilization

イベント

Zabbix アラートは Datadog イベントストリームのイベントとして収集されます。

サービスのチェック

zabbix.can_connect
Returns CRITICAL if the Agent can’t connect to the Zabbix API, OK otherwise
Statuses: ok, critical

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。