前回の続きです。

ZABBIXとraspberry piのGPIO制御と連携して視覚と音で障害を認識できる監視システムを作ろうと思います。
以前紹介したrshの時と同様、raspberry pi2 でrshを受け入れる設定をします。

まずはraspberry pi2でrsh-serverをインストールします。

#apt-get install rsh-server

$HOME/.rhosts ファイルに以下の行を追加します。
zabbixのホスト名  rshしてくるzabbix実行ユーザー名

#vi $HOME/.rhosts

例)

zabbix-server   zabbix

/etc/hostsにzabbixのホスト名を記述します。

# vi  /etc/hosts
[zabbix ServerのIPアドレス]    zabbix-server

zabbix Server側でrshができるか確認します。

zabbixユーザーに切り替えてhostnameコマンドを打って確認します。

su – zabbix –shell=/bin/bash
$rsh -l root [raspberry piのIP]  hostname
raspberrypi

raspberry-piのホスト名が帰ってくれば成功です。
※zabbix側でiptableが有効な場合、poll: protocol failure in circuit setup とエラーになってしまいます。。

これでrshの準備は完了です。

次にZABBIXのWebコンソールで障害時にrshコマンドを叩く設定をします。
Webコンソールから[設定]-[アクション]-[アクションの作成]
をクリックします。

zabbix_rsh_01

 

アクションタブ
名前:アクションの名前を入力します。ここではLED_ONとしています。
他はデフォルト

zabbix_rsh_02

 

アクションの実行条件タブ
ここで条件式を変更すれば色々制御できます。
今回はデフォルト設定のままです。(トリガーが障害の時にだけ発動)

 

zabbix_rsh_03

アクションの実行内容タブ

新規をクリックします。

zabbix_rsh_04

 

実行内容のタイプ:リモートコマンド
ターゲットリスト:現在のホスト
タイプ:カスタムスクリプト
次で実行:Zabbixサーバ
コマンド:rsh -l root [raspberry piのIP] sh /home/pi/led_on.sh

追加をクリックします。

zabbix_rsh_05

 

追加ボタンをクリックします。

zabbix_rsh_06

 

これで障害時の設定は完了です。

次は復旧時のアクション設定です。先ほどと同様にアクションの作成から作成していきます。

アクションタブ

今回は名前はLED_OFFです。

zabbix_rsh_07

 

アクションの実行条件タブ

今回は復旧時にアクションを起こしたいのでラベルBの「トリガーの値=障害」を削除し

「トリガーの値=正常」を追加します。

zabbix_rsh_08

 

アクションの実行内容タブ

先ほどの障害時のアクションと同様です。シェルがOFFのシェルに変わってます。

実行内容のタイプ:リモートコマンド
ターゲットリスト:現在のホスト
タイプ:カスタムスクリプト
次で実行:Zabbixサーバ
コマンド:rsh -l root [raspberry piのIP] sh /home/pi/led_off.sh

zabbix_rsh_09

 

追加ボタンをクリックし追加します。

2つ追加した状態が以下の状態です。

zabbix_rsh_10

 

 

 

これでZabbixで障害を検知した際にLEDと音声で知らせてもらえる仕組みが出来ました!

今までも同様な仕組みはあったと思いますが今回の方法を利用すれば機器含め1万円以下で仕組みを作ることが可能です。

弊社では既存の仕組みにraspberry piを合わせたりと、柔軟な提案が可能です。ぜひご興味のあるかたはご相談ください。