Botの死活監視
@SOTAwachspotJAのbotを動かしているRaspberryPiの死活監視をはじめました。アカウントのフォロワーの方もいるので、何かの事情で落ちたりした時はできる限り早急に復旧しなければなりません。自宅には2台のRaspberryPiのサーバが動いているのでお互いに監視すればよいかと考えていたのですが、Zabbixでは牛刀過ぎるし、かといってお互いがcronでshellを起動してチェックするのもめんどくさい。
何か良いサービスはないかと探していたら、このブログでもお世話になっている「はてな」がMackerel(「鯖」だそうです)という監視サービスをしているとのこと。早速調べてみたところエージェント5台までならフリーとのことです。
エージェントの導入はARMアーキテクチャなので残念ながらapt-get一発でという訳にはいきませんが、こちらを参考にgithubからi386用のdebをインストール後、エージェントのバイナリファイルだけをARMの物に置き換えました。
次に、こちらからMackerelの監視サーバのアカウントを作るのですが、githubのアカウントと連携できるため一瞬で終了。対象となるホストを追加すると、設定ファイルを書き換えるsedスクリプトと共にアクセストークンを発行してくれるので、これを各クライントで実行するだけ。あとは監視ルールを設定して、何かあればメールが飛ぶように設定します。インストールからはじめて15分で2台のマシンの監視環境の構築ができました。大昔MRTGで監視していたころとは時代が違いますね。(今でもMRTGも現役ですが)
(2016/1/19追記)
ガリガリgoのコンパイルしてたらお叱りのメールが着ました。ちゃんとお仕事してます。フリー版だとログが1日分しかないのが難点ですが、このレベルのサービスが無料で使えるのは嬉しいですね。
Mackerelとは話題がずれますが、headlessで動かしていると、rsyslog.confのデフォルトの設定がxconsoleにも出力するようになっているのでエラーでログが溢れるという問題があるようですね。該当部分をコメントアウトしrsyslogdを再起動しました。
https://www.netfort.gr.jp/~tosihisa/notebook/doku.php/raspberrypi/log20151101_rsyslogd-2007