zabbixのアラートをchatworkに投稿する


環境

  • zabbix4.0.10
  • chatwork

背景

zabbixのアラートをメールだけでなくchatworkに送りたくなり調べました。参考にあるqiitaのものがちょっとだけ古くて動作しなかったため、現状のchatworkのものに合わせた変更をしました。

#!/bin/sh
#
# $1 roomid

TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ENDPOINT="https://api.chatwork.com/v2/rooms/${1}/messages"
SUBJECT=${2}
MESSAGE=${3}
#MESSAGE=`urlencode ${3}`

/usr/bin/curl \
        -x http://xxxxxxxxxxx \
        -X POST \
        -H "X-ChatWorkToken: ${TOKEN}" \
        --data-urlencode "body=[info][title]${SUBJECT}[/title][code]${MESSAGE}[/code][/info]" \
        -d "self_unread=1" ${ENDPOINT}

bodyはURLエンコードをしないといけない

参考

https://qiita.com/skouno25/items/21de33a723fcaa8f8531
http://developer.chatwork.com/ja/