投稿日:2016-11-19
やりたいこと
LINE で Zabbix の通知を受け取りたい
LINE Notify を使って通知を送ります
環境
- Amazon Linux AMI 2016.09-release
- Zabbix 2.4
LINE Notify
- LINE Notify トップページでログイン
- LINEに登録したメールアドレスと、LINEのパスワードでログイン
- 右上のプルダウンメニュー「ID名」 > 「マイページ」を選択
- 「トークンを発行する」をクリック
- 「トークン名」
- 通知を送信するLINEグループ(もしくはユーザー)を選択
- 「発行する」
- アクセストークンが発行されるのでメモしておく(再発行できません)
- 「LINE Notify」ユーザーからメッセージが届くので、このユーザーを「通知を送信するLINEグループ」に招待
Zabbix
コンソールでの設定
アラートスクリプトの作成
Zabbixサーバーの設定ファイルの AlertScriptsPathを確認
- パッケージインストールなら「/usr/lib/zabbix/alertscripts」
$ sudo grep AlertScriptsPath /etc/zabbix/zabbix_server.conf
(略)
AlertScriptsPath=/usr/lib/zabbix/alertscripts
LINE Notify アラートスクリプトを作成
- LINE Notify で取得した<アクセストークン>を記載します
LINE_Notify.sh
#!/bin/sh
export PATH="/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin"
export LANG=C
access_token="<アクセストークン>"
subject=$1
body=$2
# LINE Notify 実行
curl -X POST -H "Authorization: Bearer ${access_token}" \
-F "message=${subject}: ${body}" \
https://notify-api.line.me/api/notify
exit 0
LINE Notify API Document
5 Custom alertscripts [Zabbix Documentation 2.4]
アラートスクリプトのオーナーを zabbix に変更
$ sudo chown zabbix /usr/lib/zabbix/alertscripts/LINE_Notify.sh
$ sudo chmod 700 /usr/lib/zabbix/alertscripts/LINE_Notify.sh
Webフロントエンドからの設定
Zabbix 管理画面での設定
メディアタイプ(通知先)の登録
- 「管理」 > 「メディアタイプ」 > 「メディアタイプの作成」
- 名前:適当な名称
- タイプ:スクリプト
- スクリプト名:LINE_Notify.sh
- メディアタイプに「LINE_Notify」が追加されていることを確認
ユーザーのメディア(通知先)設定
- 「管理」 > 「ユーザー」 > メンバー「Admin」
- 「メディア」タブ
- メディア枠の「追加」
- タイプ:「LINE Notify」
- 送信先:適当な名称
- 「更新」
アクションの有効化
- 「設定」 > 「アクション」 > 「Report problems to Zabbix administrators」のステータスを「有効」にする
確認
zabbix にテスト送信などが無いので、適当な監視対象を再起動したりしてアラート通知が飛ぶことを確認します。