zabbixとCrystalSignalPiを連携して光らせてみた
以前購入したCrystalSignalPiを弄ろうとは思いつつも、
別の自鯖障害が立て続けに発生して手を付けられずにいた。
それらも1ヶ月程で粗方潰し混んだので、スクリプトをサクッと作成して連携してみた。
実際にアラートを発生で光らせてみた。
写真じゃわからないが、10秒ほど点滅で光るようにしてある。
zabbixからパトライトを光らせるスクリプトがそこら中で公開されているので、
今回はそれらを参考にしながら使い慣れたperlでサクッと作成。所用時間・3時間程度
仕組みは簡単で、zabbix serverから適当なサーバを監視しておき、
アラートが上がったタイミングでalertscriptsに設置した自作スクリプトを実行し、
CrystalSignalPiのAPIを叩く形にした。
作成したスクリプトは現物をwikiに掲載したので、
使いたい人はソースをコピペしてご利用下さい。
………
zabbixとの連携方法は色んな所で公開されているので省略
ただ、上記のスクリプトはアラートレベル事に引数で処理分岐させる構造なので、
自鯖ではレベル事にアクションを登録してみた。
一応、アラートを強制停止させるクリアアクションも作成。
ns-labだとアラート内容によってアテンション先が微妙に変化する事情もあり、
結果として上の方法で落ち着いた。
登録内容を簡略化する場合、アクションを1つだけにしてzabbixのマクロを使いつつ
アラートレベルを引数で渡してあげるのが良いかも。
………
1週間テスト稼働させた所、アラートバースト時に光りすぎる事も無いし、
スクリプトエラーも出ていないのでとりあえず成功と言えそう。
スクリプトの中身はcurlでAPIを叩いているだけなので、
CrystalSignalPi側がIPv6になったとしても問題無く実行出来るはず。
ラズパイ真骨頂のIoT的な使い方ではないけれど、
物さえあれば簡単にこんな事も出来るという実用例でした。