uokadaの見逃し三振は嫌いです

ここで述べられていることは私の個人的な意見に基づくものであり、私が所属する組織には一切の関係はありません。

monitでrpcサーバーの監視をしてみる

前々回のエントリでmsgpack-rpcのサーバーを作ってみたけど、
当然本番利用するには監視が必要ですよね。

そして、落ちたら自動で再起動して復旧してもらいたいものです。
そんなのときに便利なのが monit http://mmonit.com/monit/ !
いろいろな会社で使われているので実績がありそう。
株式会社シャノン技術ブログ: 15分で始めるmonitによるサーバ監視
ウノウラボ by Zynga Japan: プロセスの監視を行う デーモン monit

monitはフリーの監視ツールで daemontools, supervisor よりも設定が楽って教えてもらったので
使ってみます。

まずインストールです。自分はお手軽に使いたかったのでMac Portsでインストールしちゃいました。
5.0.3が入ったのでちょっと古いです。

インストール後は設定ファイルの作成です。
monit本体の設定ファイルと監視対象の設定ファイルの2種類を用意します。
今回作ったのは下の2つです。

  • monit本体の設定ファイル例 (ex. /etc/monitrc)

なにかあったらgmail経由でアラートが来るように設定してます。

apacheみたいにInclude /etc/monit/*.confって複数のファイルインクルードできるので、
監視対象ごとに設定ファイル作れて管理が楽です。

  • RPC用の設定ファイル例 (ex./etc/monit.d/rpcstatus.conf)


これ以外のプロセスの監視方法は公式に詳しく載っているのでそこを参考に設定すればいい。
M/Monit | Wiki


あとは下のようにコマンド打って監視スタート。

# 監視スタート
cオプション で設定ファイルを指定して起動できる。
% sudo monit -c /etc/monitrc 
Starting monit daemon with http interface at [*:2812]

# 監視ストップ
% sudo monit quit  
monit daemon with pid [4352] killed

あと、上の設定ファイルだとWEB管理画面が立ち上がるようになってます。
下のアドレスからadmin:monitと入れて認証をパスして監視状況をブラウザから把握できます。
http://localhost:2812/

あとは監視できてるか適当にプロセス殺したりして自動で立ち上がるか確認するのがいいかなって思います。
以上、 msgpackrpcを監視するためにやったことまとめてみました。

  • 全般

@see: monit で始めるお手軽サーバ監視 - まちゅダイアリー(2009-09-04)
@see: monit でプロセスを監視する - いますぐ実践! Linuxシステム管理 / Vol.158
@see: Monit の導入 - ARCHIVESDRIVE HD
@see: システムマネジメントツール(Monit)の導入

  • 設定関連

@see: [monit] monitrcの設定項目 - Life with IT
@see: Monitを使ってApacheを監視する(3)もっと細かいチェックを設定する | レンタルサーバー・自宅サーバー設定・構築のヒント
@see: monit使う場合は定期的にmonit monitor allしたほうが良い - うまい棒blog

  • rpmの生成関連

@see: 陽気なシステム屋が世界を変える - FC2 BLOG パスワード認証
@see: Monit を試してみた | Carpe Diem