使えるシステムから使いたいシステムへ、有限会社アテージ

UNIXのシステム監視ツールmonitを紹介します。プロセス、ファイルシステム、ネットワーク、CPUやメモリなどの状況をモニタリングして、特定の状況(プロセスが死んでいる、ディスクの使用率が一定の値を超えた etc)になったら、決めておいた処理(プロセスの再起動、アラートメールの送信 etc)を実行することができます。

主要なLinuxディストリビューションならパッケージが用意されています。ソースからのインストールも./configure && make && make installで簡単に行えます。Ubuntu12.04のパッケージからインストールしたという前提で進めます。monitのバージョンは5.3.2です。

インストール

起動

インストールすると起動スクリプト/etc/init.d/monitが作られます。また設定ファイル/etc/monit/monitrcが作られます。設定ファイルは~/.monitrc, /etc/monitrc, ./monitrcの順番で検索されて最初に見つかったものが使われますが、以下のように明示的に指定することも可能です。

設定

monitrcを編集もしくは/etc/conf.d/の下に設定ファイルを追加してmonitの動作をカスタマイズします。カスタマイズしたら設定ファイルを再読込(もしくは再起動)して変更内容をmonitに反映させますが、その前に以下のようにして設定ファイルの文法上の誤りをチェックします。

1.共通設定

チェックする内容によらず、共通で使用する主要な設定項目としては次のようなものがあります。

(1)デーモンとして起動してサービスをチェックする間隔

(2)ログファイルの指定

(3)アラートメールの送信に使うSMTPサーバー

2〜4行目はメールサーバーが落ちていた場合にイベントを保存するキューの記述です。

(4)アラートメールのフォーマット

送信するメールの文面などもカスタマイズできます。例えば、From:は以下のようにして書き換えることができます。

(5)アラートメールの送信アドレス

特定のイベントが発生した場合にのみ送信したい場合は、2行目のように{}内にそのイベントを指定します。複数指定する場合はカンマで区切って記述します。

ここまでできたら、設定ファイルに文法上の誤りがないか確認して、monitを再起動してみましょう。っ正しく設定できていれば、set alertで設定したアドレス宛にメール以下のような2通のメール送信されているはずです。1つはmonitが停止したことをもう1つはmonitが起動したことを告げています。

2.個別設定

様々な項目をチェックできますが、今回はApacheの死活監視を行なってみます。

httpリクエストを投げてNGの場合にapacheを再起動して5回のチェックのうち3回NGの場合にアラートメールを送信するという設定です。