はじめに
現在業務で使用しているZabbixはメール通知だけなので、Slackにも通知するように設定してみました!
環境
- CentOS6.x
- Zabbix Server 2.4
やりかた
通知スクリプトの設定
こいつを使います
配置
こいつを以下で定義されているディレクトリへ配置
/etc/zabbix/zabbix_server.conf
### Option: ExternalScripts
# Full path to location of external scripts.
# Default depends on compilation options.
#
# Mandatory: no
# Default:
# ExternalScripts=${datadir}/zabbix/externalscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
SlackのIncomingWebhookのURIを取得
SlackのIncoming WebHooks設定画面から、チャンネルを選択し、WebHooksURIを取得する
slack.shの編集
以下のCHANGEMEの部分を取得したURLで書き換える
# Slack incoming web-hook URL and user name
url='CHANGEME' # example: https://hooks.slack.com/services/QW3R7Y/D34DC0D3/BCADFGabcDEF123
Zabbixの設定
詳細はこちらを見て下さい
なぜかハマったところ
公式のREADME通りにやってもだめで、以下の箇所を設定したらできるようになりました!
/usr/lib/zabbix/alertscripts/slack.sh '#nw_watcher' "{TRIGGER.STATUS}" "{TRIGGER.NAME}-{ITEM.VALUE1}"
おわりに
CentOS5.xとZabbixServer2.0の環境でも導入しようと思ったのですが、cURLのバージョンが低くて以下の記事の手順でソースからコンパイルして新しいバージョンをインストールしようとしてもなぜかできず積んでおります・・・orz
CentOS 5.2 にcURL 7.21.1をインストール - イノベートな非日常