monit

かみさんに自慢したら早速採用されてしまったらしいmonit。んで、前から不満に思っていた、毎朝バッチが流れるときに必ずalertのメールが飛んでしまうのを何とかするべく調べてみる。qwikWebのデータのbackup(rsync)と履歴データのスリム化の処理を毎朝流しているので、I/Oにはかなりの負荷がかかる。waitが20%を超えたらalertの設定をしているのだが、今のところ毎日漏れなくalertしているらしい。同じ文面のalertが毎朝来ると、それはもはやalertではないわけで、下手するとsubjectだけ見て消してしまったりする。これはいけない。alertメールは、着たら驚かなければいけない。
バッチはcronで流しているので、この時間帯は無視してね、みたいな設定が無いかと探してみたが無いらしい。コマンドラインでmonit自身の管理ができるらしいので、バッチの前後でmonit unmonitor/monit monitorとやってあげれば良さそう。load averageとかで引っかけたい場合は、タイミングが難しそうだけど。

root@deb3# monit summary                                           [/etc/monit]
The monit daemon 4.8.1 uptime: 17d 23h 13m

System 'deb3.xxxxxx.xxxxxx.co.jp'  running
Process 'apache'                    running
root@deb3# monit unmonitor deb3.xxxxxx.xxxxxx.co.jp                [/etc/monit]
root@deb3# monit summary                                           [/etc/monit]
The monit daemon 4.8.1 uptime: 17d 23h 11m

System 'deb3.quattro.unisys.co.jp'  not monitored
Process 'apache'                    running
root@deb3# monit monitor deb3.xxxxxx.xxxxxx.co.jp                  [/etc/monit]
root@deb3# echo $status                                            [/etc/monit]
0
root@deb3# monit summary                                           [/etc/monit]
The monit daemon 4.8.1 uptime: 17d 23h 12m

System 'deb3.xxxxxx.xxxxxx.co.jp'  initializing
Process 'apache'                    running

引数間違っててもエラーを検出できないのが、若干感じ悪いけど。

root@deb3# monit unmonitor xxxyyy                                  [/etc/monit]
root@deb3# echo $status                                            [/etc/monit]
0

あと、FAQで見つけたのが、monit自身をinitから起動する方法。本気で使おうと思ったら悩みどころになりそうな、"monit自身の死活監視"の答えはこれだと。