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


序文

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

ダウンタイムファイル

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

ダウンタイムの保存

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

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

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

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

固定 vs フレキシブル ダウンタイム

Webインタフェイス経由でホストやサービスのダウンタイムをスケジュールする時、 ダウンタイムが"固定"なのか"フレキシブル"なのか尋ねられます。 どのように"固定"と"フレキシブル"ダウンタイムの違いがあるかを説明しましょう。

"固定"ダウンタイムの開始と終了はスケジュールした通りに正確に開始と終了が行われます。 はい、これは簡単ですよね・・・。

"フレキシブル"ダウンタイムはホストやサービスがX分(または時間)ダウンする事 が分からない時を意図しています。 フレキシブルダウンタイムをスケジュールしたら、 Nagiosはあなたの指定した開始と終了時間の間のいつかにダウンタイムを開始します。 ダウンタイムはあなたがダウンタイムをスケジュールした時と同じくらい長い間続くでしょう。 フレキシブルダウンタイムが設定されたホストやサービスがダウンする(もしくは通信不可になる)か、 指定した開始と終了時刻にnon-OK状態に入っているとします。 ホストやサービスが問題状態に遷移する時にNagiosは実際にダウンタイムを開始させます。 ホストやサービスがダウンタイムが過ぎる前に回復した時でも あなたが指定した時刻までダウンタイムが続きます。 これで好都合な事があります。 誰もが知っている通り、あなたは正しく実際に稼動する前に、 問題が10回修正されている(そしてサーバが再起動されてる)と考える事ができる。 ね?スマートでしょ?

ダウンタイムのトリガー

ホストやサービスのダウンタイムをスケジュールする時、"triggered"ダウンタイムオプションを使う事が出来ます。 triggeredダウンタイムって何じゃい、と聞きたくなりますよね? ダウンタイムの開始にtriggeredダウンタイムを指定すると、ホストやサービスのダウンタイム スケジュール開始のトリガーに出来ます。 これは多数のホストやサービスのダウンタイムをスケジュールするなら非常に役立ちます。 ダウンタイム期間の開始時間は別のダウンタイムエントリーの開始時間に依存します。 例えば、特定のホストに(メンテナンスなどでダウンしている為) フレキシブルダウンタイムをスケジュールすると、 ホストの"子"全てがダウンタイムのトリガーにした方がよいです。

スケジュールされたダウンタイムによる通知への影響

ホストやサービスがスケジュールダウンタイムの時間に入ったら、 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まで飛ばされます。