Microsoft TeamsへZabbixのアラートを飛ばす
Teamsのチャネルへはメールでポストできますが、Zabbixからダイレクトにポストできた方がカッコイイよね。
かなり手抜きな作りなのはご容赦を。
環境
- Ubuntu 12.04
- Zabbix 2.2
TeamsのチャネルにIncoming Webhookコネクタを作ってURLを取得する
スクリプトを /usr/lib/zabbix/alertscripts へ作る
teams.sh
#!/bin/bash
status="$1"
message="$2\r \n$3"
payload="{\"text\":\"${message}\"}"
curl -m 5 --data "${payload}" https://outlook.office.com/webhook/...
6行目のURLにはWebhookのURLを指定します。
Webhookへメッセージを投げる際に改行を入れたいときは\r\n
では改行されず、間にスペースを入れて\r \n
にしないとうまくいきませんでした。
スクリプトに実行権限を付ける
Zabbixに新規メディアタイプを作る
ユーザにメディアを設定する
送信先にはWebhook URLを指定していますが何か文字列が入っていればいいようです。