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自身の死活監視"の答えはこれだと。