mojo-down-monitorっていうものを作った。Mojoliciousの自習と自作プラグインのテストを目的に作ったので、あまり人に勧められるものではありませんが。
自分のサイトがダウンしたことに気づかずに半日放置とかまずいので、以前はSite Alertというサービスを利用していましたが、いい自作ネタだと思ったので作ってみた次第です。
ブラウザ上のフォームでサイトのURLを登録し、URL毎に期待するステータスコードやContent-Type、コンテンツの内容などを設定します。アプリは定期的にサイトをGETし、指定された条件を全て満たしているかチェックします。異常があればサイト毎に指定したメアドに通知します。
Mojoliciousと、ビューの構築用の自作プラグイン「MojoX::Tusu」を使っています。あと、最近流行りのpjaxを真似た仕組みの画面遷移を試してみたりとか、あくまでExperimental。
アプリは下記のように起動。
$ hypnotoad ./script/mojo_down_monitor Server available at http://127.0.0.1:8010.
停止。
$ hypnotoad ./script/mojo_down_monitor --stop
半月ほど前から、プライベートや仕事で作ったサイトに対して、1分毎にチェックを走らせてみてますが、正常に監視されてるようです。時間帯によって10秒のタイムアウトが頻発するサイトがいくつか見つかったり。
Linuxでは正常に動いてますが、Macの場合はメールが送られないようです。Postfixを有効にする的なひと手間が必要ぽいですが、あまり詳しく調べてません。