mackerelでhubotを監視する

raspberry piでhubotを運用していると、いつの間にかhubotが突然死していることがあります。
botが動いてくれないと色々と困るので、先日導入したmackerelで監視して、死亡したらslackにアラートが飛ぶようにします。

観測用のスクリプトを作成

mackerelでカスタムな値を監視するには、自分で監視用のスクリプトを用意する必要があります。

#!/bin/bash

name="process.count.hubot"
monitor_time=`date +%s`
count=`ps aux | grep node | grep hubot | grep -v grep | wc -l`
echo -e "${name}\t${count}\t${monitor_time}"

hubotが生きている = hubotのプロセスが存在する。
と定義して、hubotのプロセス数をmackerelに監視させます。
細かな仕様は以下を参照してください。

ホストのカスタムメトリックを投稿する - Mackerel ヘルプ

mackerel-agent.confに設定

先ほど作成したスクリプトをmackerelに読み込ませます。
mackerel-agent.confに以下のように追記します。

[plugin.metrics.process]
command="/hoge/huga/process.sh"
type="metric"

Agentの再起動

変更を反映させるために再起動します。

$ sudo service mackerel-agent start

以上でhubotの監視は完成です。
あとは、mackerelでアラートと通知先の設定をするだけです。