monitctl

プロセス監視にmonitを利用してみたのだけど、プロセスの起動・停止などの操作にmonitコマンドを使用するとき、2つ使いにくいところがあった。
(環境はCentOS6.5 monit-5.1.1-4.el6)

  1. monitコマンドを引数なしで実行すると新たにプロセス監視デーモンが起動する
  2. /etc/monitrc の所有者を実ユーザとしてmonitコマンドを起動しないとOptional actionが使用できない

1.は打ち間違えたときにうざい。(2014/09時点 最新のmonit-5.8.1で改善してる)
2.はsudo権限とかないときにmonitコマンドが使えないため、監視してるプロセスを停止したりできない。monitにsetuidしても回避できない。(これはニッチな話だよね)

そんなわけでこれらを回避するmonitctlコマンドを作った。(大げさすぎる)
https://github.com/jetBeaver/monitctl

内部的にmonitを呼んでるだけなのですが、使用できるOptional actionを制限できるようにしてます。設定は/etc/monitctl.confで変更可能。

sudo権限は渡せないけど、デーモンの起動・停止をユーザにさせたいサーバ管理者は重宝するかも!?(そんなニーズあるのか)