Hai ZabbixマスターになりかけのAdachinです。

今までチャット系ツールはアトラシアンのhipchatを使用していたんですが、

slackに移行するぞ!となったので頑張って連携してみました!

 

とりあえず、slackはAPIが豊富で、UIもかわいいし、やはり最強チャットツールに任命!

hipchatはよくサポートから落ちてるからゴメンナサイメールが来るのでなんとかしてほしいですね!(´・ω・`)

それ以外はBitbucketとかあるし、どっちでも良さそうですw

とりあえずどうやって連携しているか他のサイト見ても細かく書いていなかったので、

よくわからん人でもこのブログで分かった!となってくれれば幸いでございます。


■まずはincoming hookを取得

https://my.slack.com/services/new/incoming-webhook

上記のURLをアクセスする前にAlert系のgroupを作ってください。

そしてURLをアクセスしたら使用するgroupを選択し、Your Unique Webhook URLをメモします。

こんなやつ。

https://hooks.slack.com/services/HAHA/WHOHO/HEHEHE

slackでの作業はオシマイです。


■Zabbixサーバにてスクリプトファイルの設置

ZabbixのAlertScriptPathを/etc/zabbix/zabbix_server.confから確認します。

これでOKです。


■Zabbixの設定

・メディアタイプの設定

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

下記の画像のように登録してください。

z01

・slackユーザ作成

管理 -> ユーザ -> ユーザの作成

名前 Slack
メディア -> 新規メディア >#Alertグループ名
タイプ Slack
グループ Zabbix Administrator

・アクションの設定

設定 -> アクション -> アクションの作成

下記の画像のように設定してください。

リカバリメッセージ チェックオン

・アクションの実行条件

トリガーの値に障害と正常を追加します。

アクションの実行内容はターゲットリストをリストを現在のホストに、コマンドは下記のようにします。

テストしたい場合は下記のコマンドを打って確認してください。

z02

z03

z004

※problemを繰り返し通知させたい場合はアクションを2つに分ける必要があります。
problem→0(無限) 、recovery→1(一回のみ)のように設定します。

以上!!テストコマンドで確認してみましょう!(上記のやつ)


■slack.shについて

デフォルトのスクリプトだとかなり使いにくいし、見にくいので実行するとこんな感じで出ると思います。

z05

改行もしたいし、色も付けたいし、Downの場合は絵文字で見やすくしたり、自分なりに工夫して作ってみました。

基本webシナリオのものをslackに通知させてます。

で、こんな感じにしました。

よかったら参考にしてください!

 

slackres


■まとめ

時間があったらこのスクリプトをいろいろ改良したいですね。
ロアベ上がったらグラフをslackに通知とかなどなど。。
redmineもslackに通知などなど。。
次回はslackでnagios通知をブログします。

参考:https://github.com/ericoc/zabbix-slack-alertscript

The following two tabs change content below.
ADACHIN

ADACHIN

1989年生まれ。 Infra engineer/Site Reliability Engineering。 エンジニアぽくないとも言われる。 2013新卒に自宅サーバを構築し、この技術ブログを立ち上げる。 好きな構成管理ツールはansible,Terraform。仮想化ならdocker。 HIPHOPが好きすぎてTrack Makerでもある。

コメントを残す