Zabbix電話通知プラグイン「zabbix-twilio」を使ってみました | ぼぶろぐ

ぼぶろぐ

以前は、あいらぶLinux♪というタイトルでしたが、
最近はLinux以外のことも書いているので、タイトルを変更しました。
ぼぶちゃんのぶろぐでぼぶろぐです。

Zabbixで障害を検知したときに自動で電話する仕組みがほしいなと思っていたら、
便利そうなプラグインがあったので、試しに使ってみました。

 

Zabbix電話通知プラグイン「zabbix-twilio」
http://begood-technology.github.io/zabbix-twilio/

 

Zabbixがインストールされているサーバにログインして、
ダウンロードサイトからプラグインをダウンロードします。
使用しているサーバはamazonlinuxを使用しています。

$ wget https://github.com/begood-technology/zabbix-twilio/archive/1.1.zip

 

解凍します。

$ unzip 1.1.zip
Archive:  1.1.zip
ee4127487814ba15955d652dd4ee644bcc5aaf2b
   creating: zabbix-twilio-1.1/
 extracting: zabbix-twilio-1.1/.gitignore
  inflating: zabbix-twilio-1.1/LICENSE
  inflating: zabbix-twilio-1.1/Logger.php
  inflating: zabbix-twilio-1.1/README.md
  inflating: zabbix-twilio-1.1/config.php
   creating: zabbix-twilio-1.1/lib/
 extracting: zabbix-twilio-1.1/lib/.gitkeep
   creating: zabbix-twilio-1.1/logs/
 extracting: zabbix-twilio-1.1/logs/.gitkeep
  inflating: zabbix-twilio-1.1/twilio-call.php
  inflating: zabbix-twilio-1.1/zabbix-twilio.php


解凍したディレクトリを移動します。
ディレクトリ名は、zabbix-twilioにします。

$ sudo mv zabbix-twilio-1.1 /usr/lib/zabbix/alertscripts/
$ cd /usr/lib/zabbix/alertscripts/
$ sudo mv zabbix-twilio-1.1 zabbix-twilio

 

実行権限をつけます。

$ sudo chmod +x /usr/lib/zabbix/alertscripts/zabbix-twilio/twilio-call.php
$ sudo chmod 777 /usr/lib/zabbix/alertscripts/zabbix-twilio/logs

 

ドキュメントルートの下にzabbix-twilioという名前のディレクトリを作成します。
その後、zabbix-twilio.phpを作成したディレクトリ配下に移動します。

$ sudo mkdir /var/www/html/zabbix-twilio
$ sudo mv /usr/libza/zabbix/alertscripts/zabbix-twilio/zabbix-twilio.php /var/www/html/zabbix-twilio/

 

twilio-phpライブラリをインストールします。

$ cd ~
$ wget https://github.com/twilio/twilio-php/archive/latest.zip
$ unzip latest.zip
$ sudo mv twilio-php-latest /usr/lib/zabbix/alertscripts/zabbix-twilio/lib/

 

スクリプトと設定ファイルを編集します。
zabbix-twilio.phpはドキュメントルートが/var/www/htmlであれば変更なしで大丈夫です。

$ sudo cp -p /usr/lib/zabbix/alertscripts/zabbix-twilio/config.php /var/tmp/config.php_20160414
$ sudo vi /usr/lib/zabbix/alertscripts/zabbix-twilio/config.php

 

編集箇所
$ diff /usr/lib/zabbix/alertscripts/zabbix-twilio/config.php /var/tmp/config.php_20160414
8c8
< $SCRIPT_URL = 'http://xx.xx.xx.xx/zabbix-twilio/zabbix-twilio.php';
---
> $SCRIPT_URL = 'http://<Server IP>/zabbix-twilio/zabbix-twilio.php';
26c26
< $ACCOUNT_SID = 'xxxxxxxxxxxxxxxxxxxxxxx';
---
> $ACCOUNT_SID = '<ACCOUNT_SID>';
28c28
< $AUTH_TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxx';
---
> $AUTH_TOKEN = '<AUTH_TOKEN>';
30c30
< $TWILIO_NUMBER = '+81xxxxxxxxxx';
---
> $TWILIO_NUMBER = '+81<TWILIO_NUMBER>';
63c63
< $ZABBIX_USER = 'Admin';
---
> $ZABBIX_USER = '<username>';
65c65
< $ZABBIX_PASS = 'zabbix';
---
> $ZABBIX_PASS = '<password>';


ACCOUNT_SIDとAUTH_TOKENはTwilioのアカウント情報から確認することができます。

 

あとは、以下の手順でZabbixの設定をすることで障害時に電話連絡がきます。
http://begood-technology.github.io/zabbix-twilio/usage.html

 

今回のやり方だと、電話連絡先が1つしか登録できないようなので、
複数登録するやり方を探してみます。