oranie's blog

旧:iをgに変えると・・・なんだっけ・・・

monのconfigの意味を色々調べてみた。

サーバ監視で使われているmonだけど、オプションなどの意味があまり情報出ていない。
ので、少しずつ調べてみた。メモがわりに載せてみる。
追記できたら追記していく。
頭いい人はこんなの見ないで、
https://mon.wiki.kernel.org/index.php/Main_Page
を見た方が良いですよ!!

以下、デフォルトconfigで設定されていたhttpのチェック部分を参考に日本語で
意味を書いてみた。

### Extremely basic mon.cf file

### global options
cfbasedir   = /etc/mon
pidfile     = /var/run/mon.pid
statedir    = /var/lib/mon/state.d
logdir      = /var/lib/mon/log.d
dtlogfile   = /var/lib/mon/log.d/downtime.log
alertdir    = /usr/lib64/mon/alert.d
mondir      = /usr/lib64/mon/mon.d
各ディレクトリのパス。rpmやyumで入れればこのまま。

maxprocs    = 20
同時にいくつまでの処理を行うか。重複してサーバが悲鳴を上げるのを阻止する為
histlength  = 100
履歴リストの最大数
randstart   = 60s
チェック間隔を被らないようランダムにする値。この場合0-60の間で各サービスをチェックする。
authtype    = pam
userfile    = /etc/mon/userfile
上記2つは認証で使う場合に設定。何の認証かは知らない。

### group definitions (hostnames or IP addresses)
hostgroup servers localhost
local上の物のみ監視するなら上記のみでOK
他の設定とかはまだ読めていない。

watch servers
監視サーバ定義
   service http
   監視サービス名定義
        interval 60s
        監視間隔
        monitor http.monitor
        監視方法
        allow_empty_group
        hostgroupで記述したホストが全て障害時でもモニターを実行する
        period wd {Sun-Sat}
        監視時間。基本24時間なのでこのまま。
            alert service.alert -s httpd
            alert mail.alert hogehoge@example.com
            monitorが失敗した場合に実行する。
            upalert mail.alert -S "web server is back up" hogehoge@example.com
            upalert:alertから復旧した場合に実行する。
            alertevery 1h
            障害時にalert記述した内容をどの程度の間隔で実行するか


自分で見てもスゲー適当。