概要
Zabbix に接続して
- Datadog Agent を介して Zabbix を監視します。
- Zabbix アラートを Datadog に送信して、アラートを Datadog イベントストリームのイベントとして表示します。
セットアップ
Zabbix チェックは Datadog Agent パッケージに含まれていないため、お客様自身でインストールする必要があります。
インストール
Agent v7.21 / v6.21 以降の場合は、下記の手順に従い Zabbix チェックをホストにインストールします。Docker Agent または 上記バージョン以前の Agent でインストールする場合は、コミュニティインテグレーションの使用をご参照ください。
以下のコマンドを実行して、Agent インテグレーションをインストールします。
datadog-agent integration install -t datadog-zabbix==<INTEGRATION_VERSION>
コアのインテグレーションと同様にインテグレーションを構成します。
構成
Zabbix サーバーのタイムゾーンが UTC に設定されていることを確認してください。Zabbix のタイムゾーンの詳細については、Zabbix ドキュメントを参照してください。
Zabbix のパフォーマンスデータを収集するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/
フォルダーの zabbix.d/conf.yaml
ファイルを編集します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル zabbix.d/conf.yaml を参照してください。
Agent を再起動します。
イベント収集
Datadog メディアタイプを作成する
- Administration > Media Types > Create Media Type に移動します。
- Zabbix テンプレート変数を使用して、Webhook にパラメータを追加します。Datadog の api_key と以下の Zabbix テンプレート変数をパラメータとして追加します。
パラメーター | 値 |
---|
api_key | Your 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} |
- Name を
Datadog
に、Type を Webhook
に設定し、次のコードを Script として入力します。
try {
Zabbix.Log(4, '[datadog webhook] received value=' + value);
var params = JSON.parse(value);
var req = new HttpRequest();
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.getStatus() != 202) {
throw 'Response code: '+req.getStatus();
}
Zabbix.Log(4, '[datadog webhook] received response with status code ' + req.getStatus() + '\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({});
- “Test” ボタンを使用して、Webhook が正しく設定されていることを確認します。
Webhook メディアを既存のユーザーに割り当てます
- Webhook メディアタイプを設定した後、Administration > Users に移動し、Webhook を表す専用の Zabbix ユーザーを作成します。たとえば、Datadog Webhook のエイリアス
Datadog
を使用します。このユーザーは Zabbix にログインしないため、メディアを除くすべての設定をデフォルトのままにしておくことができます。 - ユーザープロファイルで、Media タブに移動し、必要な連絡先情報を含む Webhook を追加します。Webhook が送信先フィールドを使用しない場合は、サポートされている文字の任意の組み合わせを入力して、検証要件をバイパスします。
- このユーザーに、アラートを送信する必要があるすべてのホストに少なくとも読み取りアクセス許可を付与します。
Webhook のアラートアクションを構成します
- Configuration > Actions に移動します。
- ページタイトルのドロップダウンから、必要なアクションタイプを選択します。
- Create Action をクリックします。
- アクションに名前を付けます。
- 操作を実行する条件を選択します。
- 実行する操作を選択します。
検証
Agent のステータスサブコマンドを実行し、Checks セクションで zabbix
を探します。
収集データ
メトリクス
イベント
Zabbix アラートは Datadog イベントストリームのイベントとして収集されます。
サービスチェック
トラブルシューティング
ご不明な点は、Datadog のサポートチームまでお問合せください。