Zabbix の通知を「LINE」に送る

  • 2
    Like
  • 0
    Comment

投稿日:2016-11-19

やりたいこと

LINE で Zabbix の通知を受け取りたい
LINE Notify を使って通知を送ります

環境

  • Amazon Linux AMI 2016.09-release
  • Zabbix 2.4

LINE Notify

  1. LINE Notify トップページでログイン
    • LINEに登録したメールアドレスと、LINEのパスワードでログイン
  2. 右上のプルダウンメニュー「ID名」 > 「マイページ」を選択
  3. 「トークンを発行する」をクリック
    • 「トークン名」
    • 通知を送信するLINEグループ(もしくはユーザー)を選択
    • 「発行する」
      • アクセストークンが発行されるのでメモしておく(再発行できません)
  4. 「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 管理画面での設定

メディアタイプ(通知先)の登録

  • 「管理」 > 「メディアタイプ」 > 「メディアタイプの作成」

Screenshot_15.png

  • 名前:適当な名称
  • タイプ:スクリプト
  • スクリプト名:LINE_Notify.sh

Screenshot_16.png

  • メディアタイプに「LINE_Notify」が追加されていることを確認

Screenshot_17.png

ユーザーのメディア(通知先)設定

  • 「管理」 > 「ユーザー」 > メンバー「Admin」
    • 「メディア」タブ
    • メディア枠の「追加」
      • タイプ:「LINE Notify」
      • 送信先:適当な名称

Screenshot_18.png

  • 「更新」

アクションの有効化

  • 「設定」 > 「アクション」 > 「Report problems to Zabbix administrators」のステータスを「有効」にする

Screenshot_19.png

確認

zabbix にテスト送信などが無いので、適当な監視対象を再起動したりしてアラート通知が飛ぶことを確認します。

Screenshot_20.png

参考リンク

Zabbix から「LINE Notify」にアラート通知する方法