mackerel

説明 [#dbe95a8c]

サーバーのあるプロセスが死んだ(プロセス数が0)になったら、mackerelで通知させたい場合の手順です。

デフォルトのプラグインではプロセス数としての監視はできないため、コマンドを直接confに記述するか、シェルスクリプトを作成する必要があります。

パターン1(グラフ設定なし、公式サイト記載あり) [#vf389f03]

http://help-ja.mackerel.io/entry/howto/check/process

 # yum install mackerel-check-plugins
 # cd /etc/mackerel-egent/
 # cp -p mackerel-agent.conf mackerel-agent.conf.`date +%Y%m%d`
 # vi mackerel-agent.conf
 ---以下追記
 [plugin.checks.check_cron]
 command = "/usr/local/bin/check-procs --pattern crond"
 --- 
 # /etc/init.d/mackerel-agent restart
 

パターン2(グラフ設定あり) [#aebbd2ef]

 # cd /etc/mackerel-agent
 # vim process.count.httpd.sh
 ---
 #!/bin/bash
 name="process.count.httpd"
 monitor_time=`date +%s`
 count=`ps aux | grep httpd | grep -v grep | wc -l`
 echo -e "${name}\t${count}\t${monitor_time}"
 ---
 # vim mackerel-agent.conf
 ---以下を追記 
 [plugin.metrics.httpd-procs]
 command = "/etc/mackerel-agent/process.count.httpd.sh"
 # /etc/init.d mackerel-agent restart

数分後にmackerelのカスタムメトリックを確認すると、グラフが表示されています。

ちなみに、パターン2の方は1回設定してしまうともう一度追加や変更時に正常に動作しない場合があるようで、私は正常に動作しているホストと、動作しないホストが発生してしまいました。。。

なので、プロセスの監視はパターン1の公式の方法が良いかもしれません。