spong-clientの詳細設定
spong-clientの詳細設定について,調べてみた.
spong-clientは,デフォルトではdisk,cpu,processes,memoryの状態をチェックする.これは設定ファイル
/etc/spong/spong.confにて設定されており,変更可能である.
$CHECKS = 'disk cpu processes memory';項目をスペース区切りで記述する.記述できるエントリは以下.
- disk
- ディスク使用量
- cpu
- CPU負荷
- processes
- プロセス
- memory
- メモリ使用量
- logs
- ログ
前節の設定項目
$CHECKSにlogsを設定すると,ログの監視が可能である.上記設定項目の少ししたに,ログ監視の設定項目
$LOGCHECKSがある.この設定項目はハッシュの配列である.各要素となるハッシュはファイル毎で,以下の項目がある.
- logfile
- ログファイル
- checks
- チェック項目.ハッシュの配列となっており,以下の設定項目がある.
- pattern
- ログチェックのマッチングパターン.
- status
- ログが上記パターンにマッチした場合に設定するステータス.red,green,yellowから選ぶ.
- duration
- ログファイル内の何分以内のログをチェックするか.
- text
- イベントの情報として出力するメッセージ.patternでのnumber変数を使用できる.例えば,
pattern=>'.*WARNING:(.*)' ..... text=>'WARNING: $1',
とすると,textの$1にはpatternの()内の文字列が代入される.このあたりはPerlに関するドキュメントを参照. - id
- イベントを一意に特定するためのキー.内部処理用.指定しない場合は上記textの値がキーとなる.おそらくtextの値が同じエントリが複数ある場合に使用する.
$LOGCHECKS = [ { 'logfile' => '/var/log/messages',
'checks' => [ { pattern=>'.*WARNING:(.*)',
status=> 'red',
duration=>60,
text=>'WARNING: $1',
},
],
}
];
spong-clientを再起動して,ログを出力する.
# logger -p user.warn "RECOVER:SPONG_TEST"spongコマンドで確認.
# spong --host hoge.example.com ...省略... green S 23:14 g-cherry logs All logs ok. red S 23:05 g-cherry logs log problems: /var/log/messages green S 22:16 g-cherry logs All logs ok. ...省略...
memory監視の際に,メモリ使用量が何%なら警告(yellow),あるいは異常(red)なのかは,設定ファイル
/etc/spong/spong.conf内の以下の設定項目で設定できる.
- $MEMWARN
- $MEMCRIT
cpu監視の際に,ロードアベレージがいくつなら警告(yellow),あるいは異常(red)なのかは,設定ファイル
/etc/spong/spong.conf内の以下の設定項目で設定できる.
- $CPUWARN
- $CPUCRIT
disk監視の際に,ディスク使用量が何%以上なら警告(yellow),あるいは異常(red)なのかは,設定ファイル
/etc/spong/spong.conf内の以下の設定項目で設定できる.
- $DFWARN{"..."}
- $DFCRIT{"..."}
@DFIGNOREこの項目は配列で指定する.
processes監視の際にどのプロセスが稼働していなければ,警告(yellow),あるいは異常(red)なのかは,設定ファイル
/etc/spong/spong.conf内の以下の設定項目で設定できる.
- @PROCSWARN
- @PROCSCRIT

