システム監視ツール - watchdog

watchdogとはシステムを監視し、異常が発生したのを観測した場合マシンを再起動するソフトウェアである。異常観測後の動作はリブートのみである。特定の機能、例えばapacheを再起動するなどということはできない。

■インストール

# yum install watchdog
 ---略---
Installed: watchdog.i386 0:5.6-1.el5
Complete!

■構成

/usr/sbin/watchdog
/usr/man/man5/watchdog.conf.5
/usr/man/man8/watchdog.8
/etc/watchdog.conf

■watchdog.confの設定
例として以下のような内容を設定する。

  • Apacheのpidファイルを10秒間隔で監視し、ファイルが存在していれば/dev/watchdogというファイルに書き込む。pidファイルが無い場合、つまりapacheが落ちていた場合はマシンを再起動する。

設定方法は以下の通り。

watchdog.confを開く。

# vi /etc/watchdog.conf

下記3つの設定値を変更する。
-------------------------------------
watchdog-device = /dev/watchdog
interval = 10
pidfile = /var/run/httpd.pid
-------------------------------------

■確認
1. watchdogを起動する。

# /etc/rc.d/init.d/watchdog start
watchdog を起動中:                                         [  OK  ]

2. apatcheを停止する。

# apachectl stop

3. 10秒後、マシンが再起動がされればOK。

■注意:watchdogを自動起動する場合の設定
Watchdogを自動起動に設定する場合、最後に起動するようにしておくこと。
でないと以下のような状態に陥ることになる。
1. マシンが起動
2. watchdogが起動
3. watchdogがapachehttpd.pidの確認をする
4. httpd.pidがないためapacheが異常であると判断する
5. マシンの再起動を開始する

永遠に起動できない。


■設定・監視できるもの

  • 負荷の閾値:1分、5分、15分間隔で設定可能
  • 利用可能仮想メモリサイズの最低値(閾値
  • 温度センサの閾値(デフォルトは120)。限界を超えるとシステム停止。また、この限界値の、90%、95%、98%で警告を発する。
  • 指定されたファイルのstatコール許容戻り時間(デフォルトは1分)
  • pidfileで指定されたpidのプロセス稼動監視
  • プロセス・テーブルの空き状態(watchdog自身のforkプロセス使用)
  • 指定されたIPアドレスに対しpingし、unreachableをチェック
  • 指定インターフェースの受信トラフィックモニタ

問題発生時に、ユーザ定義コマンドの実行やemailで通知することが可能である。


■参照サイト
 Linux/watchdog