Zabbix4.4+SlackはWebhookで!

いままでZabbixからの通知をSlackで利用しようとすると、外部スクリプトを書いて登録して。。。

ってやる必要があったのですが、Zabbix4.4からはメディアタイプとして「Webhook」ってのが追加になっています。

この Webhook を使えば、Zabbix の管理画面だけで外部サービスに通知するための JavaScriptコードの入力や編集がすることができます。

ってことで早速!

SlackからWebhook URLを獲得する

Incomming Webhooksを有効化することになるのですが、あちこちで開設されているので、ここではカット!!!(**)

今回は投稿先として「#zabbix」を作成しました。プライベートで(^^;

https://hooks.slack.com/services/****/****/****

ZabbixにWebhookを設定する

Slackへの通知の送信を行うために、Webhookを設定します。

管理 / メディアタイプ / メディアタイプの作成

メディアタイプの入力画面が表示されますんで、パラメータを登録します。

パラメータは不要なやつは消しちゃいます。

スクリプトはこちらを使わせていただきました。

var req = new CurlHttpRequest();
req.AddHeader('Content-Type: application/x-www-form-urlencoded');
 
Zabbix.Log(4, 'webhook request value='+value);
 
req.Post(
  'https://hooks.slack.com/services/****',
  'payload='+value
);
 
Zabbix.Log(4, 'response code: '+req.Status());
 
return JSON.stringify({
  'tags': {
    'endpoint': 'slack'
  }
});

Webhook URLは取得されたもので書き換えてください。

一覧に登録されます。テストをして、実際に送信されるか確認をしてみてください。

指定されたチャネルで受信できているはずです。

Zabbixの通知を設定します

Slackに障害通知が送信されるように設定をします。

設定 / アクション で「アクション」を表示します。

イベントソースを”トリガー”にしてトリガー一覧を表示します。

該当のトリガーのステータスを”有効”にします。

管理 / ユーザーで「ユーザー」を表示します。

今回は”Admin”で設定をするんで、Adminをクリックすると「ユーザー」が表示されます。

「メディア」タブをクリックすると、登録されているメディアの一覧が表示されるので”追加”します。

メディアを追加する画面が表示されます。

タイプは、作成したSlackのタイプを選択します。

送信先は、実際には使われないので、なんでもありです。

追加して、更新します。

これで、なんかあったら{ALERT.MESSAGE} マクロの内容が、Slackに通知されます。

おたのしみに(^^)

参考:Zabbix 4.4で追加されたWebhookでSlackに通知する設定メモ

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA