通知間隔
目次
導入 Introduction
管理者達はしばしば彼らがそれらを最も少なくしたい時、ポケットベル、携帯電話呼び出しなどに答える負担を背負わなければなりません。だれも、午前4時に問題を片付けるために起こされるのは好きではありません。しかし、それは夜中に問題を修正するために、あなたが翌朝の午前9時に立ち寄るとき、不幸な上司の復讐に直面するよりむしろ、ましな事がしばしばです。そうした、アラートに答える責任の共有を助けることができる指導者のチームを持つそれらの幸運な管理者達のために、呼び出しのローテーションはしばしば楽な仕事になります。複数の管理者達が、週末、週日の夜、休日などに関する通知を取りながら、しばしば交替するでしょう。
どのように呼び出しのほとんどの通知ローテーションを楽にすることができる方法で [時間帯] 定義を作成できるかをお見せします。, これらの定義は必然的に現れる人事(病欠を知らせたり、シフトを交換したり、またはポケットベルを川へ投げ込む管理者達)を処理しないでしょう。しかし、それらはあなたにその時間の大部分を処理するはずである基本構造をセットアップさせるでしょう。
シナリオ 1: 休日と週末 Scenario 1: Holidays and Weekends
2人の管理者・ジョンとボブ…はNagiosアラートに応じる責任があります。ジョンは、休日を除いた平日(日々24時間)はすべての通知を受け取ります。 ボブは週末と休日の間、通知を処理します。幸運なボブ。 あなたがtimeperiodsを使用するローテーションのタイプを定義どのように出来るかがここに、あります…。
まず最初に、休日・平日および週末の間の時間範囲を含む3つの時間帯を定義して下さい :
define timeperiod{ name weekdays timeperiod_name weekdays monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 } define timeperiod{ name weekends timeperiod_name weekends saturday 00:00-24:00 sunday 00:00-24:00 } define timeperiod{ name holidays timeperiod_name holidays january 1 00:00-24:00 ; New Year's Day 2008-03-23 00:00-24:00 ; Easter (2008) 2009-04-12 00:00-24:00 ; Easter (2009) monday -1 may 00:00-24:00 ; Memorial Day (Last Monday in May) july 4 00:00-24:00 ; Independence Day monday 1 september 00:00-24:00 ; Labor Day (1st Monday in September) thursday 4 november 00:00-24:00 ; Thanksgiving (4th Thursday in November) december 25 00:00-24:00 ; Christmas december 31 17:00-24:00 ; New Year's Eve (5pm onwards) }
次に、ジョンの呼び出し回のために平日を含む時間帯を定義してください。しかし、上の休日タイムピリオドで定義された日にち・時間は除く。
define timeperiod{ timeperiod_name john-oncall use weekdays ; Include weekdays exclude holidays ; Exclude holiday dates/times defined elsewhere }
あなたは現在、ジョンのコンタクト定義においてこの時間帯に参照をつけることが出来ます。:
define contact{ contact_name john ... host_notification_period john-oncall service_notification_period john-oncall }
週末と、上の休日timeperiodで定義した日にち・時間を含むボブの呼び出し回のために、新しい時間帯を定義してください。:
define timeperiod{ timeperiod_name bob-oncall use weekends,holidays ; Include weekend and holiday date/times defined elsewhere }
あなたは現在、ボブのコンタクト定義においてこの時間帯に参照をつけることが出来ます。:
define contact{ contact_name bob ... host_notification_period bob-oncall service_notification_period bob-oncall }
シナリオ2: 交互の日々 Scenario 2: Alternating Days
このシナリオでは、ジョンとボブは、それが週末であるかどうか平日、または休日にかかわらず一日おきにアラートを扱いながら、交替します。
ジョンが通知を受け取るべきである時のために、時間帯を定義してください。本日の日付が2007年8月1日であり、ジョンが今日からの通知を処理していると仮定する場合、定義はこのようになるでしょう:
define timeperiod{ timeperiod_name john-oncall 2007-08-01 / 2 00:00-24:00 ; Every two days, starting August 1st, 2007 }
今度は、ボブが通知を受け取るべきである時のために時間帯を定義してください。ボブが、ジョンがしない数日の通知を得るので、最初に呼び出し日は明日(2007年8月2日)始まります
define timeperiod{ timeperiod_name bob-oncall 2007-08-02 / 2 00:00-24:00 ; Every two days, starting August 2nd, 2007 }
今、あなたはコンタクト定義とのこれらの時間帯定義の参照をジョンとボブのために必要とします:
define contact{ contact_name john ... host_notification_period john-oncall service_notification_period john-oncall } define contact{ contact_name bob ... host_notification_period bob-oncall service_notification_period bob-oncall }
シナリオ3: 交互の週 Scenario 3: Alternating Weeks
このシナリオでは、ジョンとボブは、隔週でアラートの処理を交替します。 ジョンは日曜日から土曜日の間、アラートを1週間処理します、そして、ボブは次の7日間アラートを処理します。 これは永続します。
ジョンが通知を受け取るべきである時のために、時間帯を定義してください。 本日の日付が2007年7月29日日曜日であり、ジョンが今週通知を処理する(今日から)と仮定する場合、定義はこのようになるでしょう:
define timeperiod{ timeperiod_name john-oncall 2007-07-29 / 14 00:00-24:00 ; Every 14 days (two weeks), starting Sunday, July 29th, 2007 2007-07-30 / 14 00:00-24:00 ; Every other Monday starting July 30th, 2007 2007-07-31 / 14 00:00-24:00 ; Every other Tuesday starting July 31st, 2007 2007-08-01 / 14 00:00-24:00 ; Every other Wednesday starting August 1st, 2007 2007-08-02 / 14 00:00-24:00 ; Every other Thursday starting August 2nd, 2007 2007-08-03 / 14 00:00-24:00 ; Every other Friday starting August 3rd, 2007 2007-08-04 / 14 00:00-24:00 ; Every other Saturday starting August 4th, 2007 }
今度は、ボブが通知を受け取るべきである時のために、時間帯を定義してください。 ボブが、ジョンがしない数週間の通知を得るので、最初に呼び出し日は明日(2007年8月2日)始まります。
define timeperiod{ timeperiod_name bob-oncall 2007-08-05 / 14 00:00-24:00 ; Every 14 days (two weeks), starting Sunday, August 5th, 2007 2007-08-06 / 14 00:00-24:00 ; Every other Monday starting August 6th, 2007 2007-08-07 / 14 00:00-24:00 ; Every other Tuesday starting August 7th, 2007 2007-08-08 / 14 00:00-24:00 ; Every other Wednesday starting August 8th, 2007 2007-08-09 / 14 00:00-24:00 ; Every other Thursday starting August 9th, 2007 2007-08-10 / 14 00:00-24:00 ; Every other Friday starting August 10th, 2007 2007-08-11 / 14 00:00-24:00 ; Every other Saturday starting August 11th, 2007 }
今、あなたはジョンとボブのためにコンタクト定義とのこれらの時間帯定義を参照に必要とします:
define contact{ contact_name john ... host_notification_period john-oncall service_notification_period john-oncall } define contact{ contact_name bob ... host_notification_period bob-oncall service_notification_period bob-oncall }
シナリオ4: 休暇 Scenario 4: Vacation Days
このシナリオでは、ジョンは彼がオフにする以外のすべての日間、通知を処理します。彼は、毎月いくつかの計画された休暇と同様に数日の有給休暇を取ります。ジョンが休暇かオフィスの外にいるとき、ボブは、通知を処理します。
まず最初に、以下で何日もジョンの休暇のための時間範囲を含む時間帯を定義してください。
define timeperiod{ name john-out-of-office timeperiod_name john-out-of-office day 15 00:00-24:00 ; 15th day of each month day -1 00:00-24:00 ; Last day of each month (28th, 29th, 30th, or 31st) day -2 00:00-24:00 ; 2nd to last day of each month (27th, 28th, 29th, or 30th) january 2 00:00-24:00 ; January 2nd each year june 1 - july 5 00:00-24:00 ; Yearly camping trip (June 1st - July 5th) 2007-11-01 - 2007-11-10 00:00-24:00 ; Vacation to the US Virgin Islands (November 1st-10th, 2007) }
次に、上のtimeperiodで定義した日にち・時間を除くジョンの呼び出しの回のために、時間帯を定義して下さい:
define timeperiod{ timeperiod_name john-oncall monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 exclude john-out-of-office ; Exclude dates/times John is out }
あなたは現在、ジョンのコンタクト定義において、この時間帯に参照をつけることができます:
define contact{ contact_name john ... host_notification_period john-oncall service_notification_period john-oncall }
ジョンがオフィスに不在である日付/時間を含んでいるボブの呼び出し回のために新しい時間帯を定義してください:
define timeperiod{ timeperod_name bob-oncall use john-out-of-office ; Include holiday date/times that John is out }
あなたは現在、ボブのコンタクト定義においてこの時間帯に参照をつけることができます:
define contact{ contact_name bob ... host_notification_period bob-oncall service_notification_period bob-oncall }