ダウンタイムのスケジュール


Introduction

Nagiosは監視しているサービスやホストの計画されたダウンタイムをスケジュールできます。これはアップグレードなどでっfさー場がダウンする時などに便利です。ホストやサービスがスケジュールされた一時的なダウン状態のそのホストまたはサービスの通知はスキップされます。

ダウンタイムファイル

スケジュールされたホストとサービスのダウンタイムはメイン設定ファイルのdowntime_fileディレクティブで指定したファイルに保存されます。

ダウンタイムの保存

スケジュールされたホストとサービスのダウンタイムはプログラムが再起動するときに自動的に保存されます。Nagiosが起動したとき、ダウンタイムファイルをスキャンして、古いもしくは間違ったエントリを削除して、正常なホスト、サービスのダウンタイムスケジュールを読み込みます。

ダウンタイムをスケジュールする

ホストやサービスのダウンタイムは追加情報CGI(ホストやサービス情報もみられる)を通して設定します。"Schedule downtime for this host/service"リンクをたどってダウンタイムを設定します。

ホストやサービスがスケジュールされたら、Nagiosは設定した期間ダウンすると言うことをホスト/サービスのコメントとして追加します。ダウンタイムで設定した期間が過ぎたら、Nagiosは自動的にそのコメントを削除します。ね?いいでしょ?

スケジュールダウンタイムのタイプ

スケジュールダウンタイムには"fixed"と"flexble"の2つのタイプがあります。ホストやサービスのダウンタイムをウェブインタフェイスから設定するときに、そのダウンタイムはfixedかどうか聞かれるでしょう。では"fixed"と"flexible"ダウンタイムの違いについて説明します:

"Fixed"ダウンタイムは設定した開始時間と終了時間にきっちりダウンタイムが開始して終了します。ん。これの説明はこれだけです。

"Flexible"ダウンタイムはホストやサービスがX分(時間)停止するが正確な時間は分からない場合です。flexibleダウンタイムをスケジュールしたら、Nagiosはダウンタイムの開始時間と終了時間に設定されている間のいつかにダウンタイムを開始させます。ダウンタイムは、ダウンタイムをスケジュールした時、指定した持続の間続くでしょう。これはflexibleダウンタイムを設定したホストが、その開始時間と終了時間の間にダウンしたり(もしくは未到達)non-OKステートになると仮定しています。つまりその時間帯の中でホストやサービスが問題のある状態になったときにダウンタイムが開始されます。その後、ダウンタイムが終了する前に、ホストかサービスが回復しても、ダウンタイムは指定した持続の間続くでしょう。よく知っているように実際に正常に稼働させる前に問題解決のため10回修正して再起動)を行う事ができます。ね?スマートでしょ?

スケジュールダウンタイムは通知にどう影響するか

ホストやサービスがスケジュールダウンタイムの時間に入ったら、Nagiosはそのホストやサービスの通知は行いません。通知の制御は通知ロジックに追加のフィルタとして追加されます。もしCGIの中でそのホストやサービスの通知が無効になっているというアイコンがないと思います。スケジュールダウンタイムが過ぎたら、再度通常通りホストやサービスの通知が行われます。

スケジュールダウンタイムのオーバーラップ

私はこれを"あらっ!うごかねーぞ!"症候群と呼ぶのが好きです。私が何が言いたいか分かると思います。"定期的な"ハードウェアアップグレードを行ったけども、OSのドライバがうごかなかったわ、RAIDアレイは壊れるわ、ハードディスクイメージは失敗するわで世の中に残されているのはオリジナルディスクのみと言う状況です。こうなってしまっては、最初に想定していた時間を3時間も4時間もオーバーしてこの作業を行わなくてはならなくなります・・・

以下のシナリオで考えてみます:

  1. ホストAのダウンタイムを月曜日の7:30pm-9:30pmに設定した
  2. 月曜日の7:45pmにそのサーバーを停止してハードディスクのアップグレードを開始した
  3. 1時間半SCSIエラーとドライバに悩まされて、ようやく機器を稼働させた。
  4. 9:15にあるパーティーションがドライブのどこにも見あたらないと気づく
  5. 長い夜になる事を認識して、戻り、ホストAのダウンタイムの設定を月曜日9:20pm から火曜日の1:30amまで追加した

もしサービスやホストのスケジュールがオーバーラップした時(この場合7:40pm-9:30pmと 9:20pm-1:30am)、Nagiosは最後に設定したダウンタイムの期間まで待ちます。この例では、通知は火曜日の1:30amまで飛ばされます。