| ・hosts.cfg Host Configuration File である hosts.cfg は、ホスト、ホスト・グループ、通知先、通知先グループ、サービス等の内容を定義し、相互の関連付けを行います。 ここで定義する項目は次の9種類あります。
|
(1)TIME PERIOD CONFIGURATION
インストールしたhosts.cfgのサンプルファイルの中に4つの時間帯に関する定義が記されています。 特に新たな定義を作成する必要はなく、この中の「24X7」をホストやサービスの監視時間帯等として使うことにします。 すなわち、「24時間・7日間」、日本流に言えば「24時間・365日」監視し続けるということです。
(2)HOST CONFIGURATION
ここで、実際に監視するホストを定義します。 これについてもhosts.cfgファイルの中に様々なパターンのサンプルが記述されており、それを参考にして監視したいホストの定義を行います。 この中の<稼動しているかどうかをチェックするコマンド(略称)>ですが、これは /usr/local/netsaint/etc/commands.cfg ファイルの中で定義されていますので、一度このファイルの中を見ておくことをお勧めします。 ちなみに当サイトのサーバーは以下のように定義しています。
・ ホスト(略称) = ms2 ・ ホスト(正式名) = MS2 Server ・ IPアドレス = 192.168.0.12 (自分自身のLAN上のIPアドレス) ・ 上位ホスト(略称) = FITELnet (このホストが接続しているルーターの略称。別途定義します) ・ 稼動しているかどうかをチェックするコマンド = check-host-alive (実態はping1回) ・ ダウンしたと見なすまでのチェック回数 = 10回 ・ダウンしている場合に再度通知を発信するまでの待ち時間 = 30分 ・ 監視する時間帯(略称) = 24x7 (24時間365日ずっと監視する) ・ リカバリーした場合の通知 = 1 (通知する) ・ ダウンした場合の通知 = 1 (通知する) ・通信不能となった場合の通知 = 1 (通知する) ・ 状態が変化した場合に実行するイベント・ハンドラー = 未定義 ということです。 また、外部のサーバーについては次のように定義します。
・ ホスト(略称) = sample ・ ホスト(正式名) = Sample Server ・ IPアドレス = 12.34.56.78 (グローバルIPアドレス) ・ 上位ホスト(略称) = adsl-modem (当サイトのADSLモデムの略称です) ・ 稼動しているかどうかをチェックするコマンド = check-host-alive (実態はping1回) ・ ダウンしたと見なすまでのチェック回数 = 10回 ・ダウンしている場合に再度通知を発信するまでの待ち時間 = 30分 ・ 監視する時間帯(略称) = 24x7 ・ リカバーした場合の通知 = 1 (通知する) ・ ダウンした場合の通知 = 1 (通知する) ・通信不能となった場合の通知 = 1 (通知する) ・ 状態が変化した場合に実行するイベント・ハンドラー = 未定義 ということです。 その他の監視対象ホストについても、上記のように定義していきます。 (3)HOST GROUP CONFIGURATION
これを定義する目的は、異常発生時にそのホストが属する(ホスト)グループの通知先グループのメンバーである通知先全てに連絡を行うようにするためです。 上の例の「ms2」と「sample」を同じグループとすることも可能であり、その場合は次のように定義します。
・ グループ略称 = e-ryoichi.net ・ グループ正式名 = e-RYOICHI.net GROUP ・ 通知先グループ = admin (CONTACT GROUP CONFIGURATION で定義します。) ・ ホスト = ms2,sample (複数列挙する場合はカンマで区切ります。) ということです。 (4)COMMAND CONFIGURATION NetSaintのVersion0.0.7からホストやサービスをチェックするコマンドは /usr/local/netsaint/etc/command.cfg の中で定義されるように変更されました。 ここでは、問題発生時の通知方法のコマンドについての定義が残されています。 サンプルには電子メールやページャーで通知する場合の定義が記述されており、デフォルトのままで使うことができます。 ・サービスに問題が生じたときに電子メールを送る内容の定義
・ホストに問題が生じたときに電子メールを送る内容の定義
先の例の「ms2」サーバーがダウンした場合、次のような内容が送られてきます。
(5)CONTACT CONFIGURATION
ここでは、ホストやサービスに問題が発生したり、リカバリーした場合に、メールやページャーで連絡する通知先を定義します。 私の場合、次のように定義しました。
・通知先(略称) = admin ・通知先(正式名) = NetSaint Admin ・サービス及びホストに関する通知の発信時間帯 = 24x7 (定義した時間帯の略称) ・通知の要否については、全て「通知する(=1)」に設定 ・サービスに関する通知方法 = notify-by-email ・ホストに関する通知方法 = host-notify-by-email ・通知先のメールアドレス = admin@e-ryoichi.net です。 (6)CONTACT GROUP CONFIGURATION
(5)で定義した通知先を必要に応じてグループにまとめます。 私の場合、通知先をひとつしか定義していませんが、次のようにグループを定義しました。
これに関しては、特に説明は不要ですね。 (7)SERVICE CONFIGURATION (2002/11/20 青字の部分を訂正)
ここで、各ホストの稼動対象となるサービスに関する定義を行います。 ホスト「ms2」のWWWサーバーを監視する場合には、次のように記述します。
この意味は、 ・ホスト名(略称) = ms2 ・サービスの説明 = WWW ・volatile = 0(ノーマル。volatileについてはここでは無視してください。説明がかなりややこしいです。) ・監視時間帯 = 24x7 ・最大チェック回数 = 3回 (この回数チェックし、それでもOKの状態でない場合に初めて通知します。) ・チェック間隔 = 5分 ・OK以外の状態となった時のチェック間隔 = 1分 <補記:2002/11/20> 「チェック間隔」(check_interval)は、サービスをチェックした結果が「OK」であるとか「WARNING」や 「CRITICAL」の状態が続いているときにサービスチェックを行う間隔です。 これに対して、「OK以外の状態となったときのチェック間隔」(retry_interval)は、サービスの状態が 「OKの状態」から「OK以外の状態」に変化した場合に、サービスチェックを行う間隔です。 これにより、「OK以外の状態」になった場合のチェック間隔を通常の時間より短くしたり、長くしたり することができます。 そして、「OKの状態」に戻ったり、「OK以外の状態」が最大チェック回数に達したときに、ふたたび 「チェック間隔」(check_interval)を使ってサービスチェックを行います。 ・通知先グループ = e-RYOICHI.net-admins ・再通知までの待ち時間 = 120分 (問題が発生時したことを通知した後、120分経ってもWARNINGや CRITICALの状態が続いている場合に再通知する) ・通知する時間帯 = 24x7 (特に制限を設けず、いつでも通知する) ・リカバリー時の通知 = 1 (通知します) ・CRITICALとなった時 = 1 (通知します) ・WARNINGとなった時 = 1 (通知します) ・イベント・ハンドラー = 定義していません。 ・チェック・コマンド = check_http (commands.cfg で定義されていなければなりません。) です。 後は、必要に応じて監視対象とするホストを定義していきます。 対象となるサービスはWWWを始め、SMTP、FTP、POP3、PINGの他に、現在ログインしているユーザーの数、稼動しているプロセスの数、ゾンビとなったプロセスの数、ハードディスクの容量等、結構いろいろあります。 /usr/local/netsaint/etc/commands.cfg を覗いてみると、こんなことが出来るのかということがわかるかと思います。 (8)HOST GROUP NOTIFICATION ESCALATION (9)SERVICE NOTIFICATION ESCALATON この2つの定義に関しての説明は、ちょっとややこしいので、ここでは割愛させていただきます。(~_~;) 必ず定義しなければならないものではありません。 問題発生時の通知方法に関するテクニック、とだけ言っておきます。 (10)SERVICE NOTIFICATION ESCALATON これについては、現在研究中(~_~;)です。 デフォルトでコメントアウトされてますので、とりあえずそのままにしておいてください。 さて、これで hosts.cfg の編集も終わり、残すところは CGI CONFIGURATION FILE である nscgi.cfg だけとなりました。 |