Microsoft TeamsへZabbixのアラートを飛ばす


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を指定していますが何か文字列が入っていればいいようです。

結果

こんな感じでメッセージが飛んできます。