通話通知輪換
介紹
管理員常常在最不希望的時候承擔回答尋呼機,短信,電子郵件和電話的負擔。沒有人喜歡在凌晨4點醒來解決問題。但是通常最好在半夜解決問題。在大多數公司中,停機時間也可能很昂貴,并且由于多種原因,快速解決問題是有利的。
對于那些擁有一組系統管理員可以幫助分擔應答警報的責任的人,通常會設置呼叫輪換。多位管理員通常會在周末,工作日,節假日等情況下交替接收通知。
本節將告訴你如何可以創建TIMEPERIOD的方式,可以促進典型導通呼叫通知旋轉定義。這些定義不會處理不可避免地會出現的人為問題(管理員打電話請病假,換班或將尋呼機扔進河里),但是它們將允許您設置一個基本的結構,該結構在大多數情況下都有效。
方案1:假期和周末
兩位管理員-John和Bob-負責響應Nagios警報。John會收到平日(帶24小時工作日)的所有通知,節假日除外;鮑勃在周末和節假日處理通知。下面是一個如何使用時間周期定義這種旋轉類型的示例。
首先,定義3個時間段,其中包含節假日,工作日和周末的時間范圍:
定義時間{
命名工作日
timeperiod_name工作日
星期一00:00-24:00
星期二00:00-24:00
周三00:00-24:00
星期四00:00-24:00
星期五00:00-24:00
}
?
定義時間{
命名周末
timeperiod_name周末
星期六00:00-24:00
星期日00:00-24:00
}
?
定義時間{
命名假期
timeperiod_name假期
1月1日00:00-24:00; 元旦
2008-03-23 00:00-24:00; 復活節(2008)
2009-04-12 00:00-24:00; 復活節(2009)
5月-1日星期一00:00-24:00; 陣亡將士紀念日(五月的最后一個星期一)
7月4日00:00-24:00; 獨立日
9月1日星期一00:00-24:00; 勞動節(9月的第一個星期一)
11月4日星期四00:00-24:00; 感恩節(11月4日,星期四)
12月25日00:00-24:00; 圣誕
12月31日17:00-24:00; 除夕(下午5點以后)
}
接下來,為約翰的通話時間定義一個時間段,其中包括工作日,但不包括上述假期時間段中定義的日期/時間:
定義時間{
timeperiod_name john-oncall
使用工作日; 包括工作日
不包括假期; 不包括其他地方定義的假期日期/時間
}
現在,您可以在John的聯系人定義中引用此時間段:
定義聯系人{
contact_name約翰
…
host_notification_period john-oncall
service_notification_period約翰·oncall
}
為鮑勃的通話時間定義一個新的時間段,其中包括周末以及上述假期時間段中定義的日期/時間:
定義時間{
timeperiod_name bob-oncall
使用周末,節假日;包括在其他地方定義的周末和假日日期/時間
}
您現在可以在Bob的聯系人定義中引用此時間段:
定義聯系人{
contact_name鮑勃
…
host_notification_period bob-oncall
service_notification_period bob-oncall
}
方案2:交替的日子
在這種情況下,John和Bob每隔一天交替處理一次警報-不管是周末,工作日還是假日。
定義約翰應該何時接收通知的時間段。假設今天的日期是2016年10月1日,而John正在處理從今天開始的通知,則定義應如下所示:
定義時間{
timeperiod_name john-oncall
2016-10-01 / 2 00:00-24:00; 從2016年10月1日開始,每兩天
}
現在,定義鮑勃應何時接收通知的時間段。鮑勃會在約翰沒有的那一天收到通知,因此他的第一個上班日是明天(2016年10月2日)開始。
定義時間{
timeperiod_name bob-oncall
2016-10-02 / 2 00:00-24:00; 從2016年10月2日開始,每兩天
}
現在,您需要在John和Bob的聯系人定義中引用以下時間段定義:
定義聯系人{
contact_name約翰
…
host_notification_period john-oncall
service_notification_period約翰·oncall
}
定義聯系人{
contact_name鮑勃
…
host_notification_period bob-oncall
service_notification_period bob-oncall
}
方案3:隔周
在這種情況下,John和Bob每隔一周交替處理一次警報。John在一周的周日至周六處理警報,而Bob在接下來的7天處理警報。這一直持續下去。
定義約翰應該何時接收通知的時間段。假設今天的日期是2016年7月29日(星期日),而John在本周(從今天開始)正在處理通知,則定義如下所示:
定義時間{
timeperiod_name john-oncall
2016-07-29 / 14 00:00-24:00; 從2016年7月29日星期日開始,每14天(兩周)
2016-07-30 / 14 00:00-24:00; 從2016年7月30日開始的隔周星期一
2016-07-31 / 14 00:00-24:00; 從2016年7月31日開始的隔周二
2016-08-01 / 14 00:00-24:00; 從2016年8月1日開始,隔周三
2016-08-02 / 14 00:00-24:00; 從2016年8月2日開始,隔周四
2016-08-03 / 14 00:00-24:00; 從2016年8月3日開始的每隔一個星期五
2016-08-04 / 14 00:00-24:00; 從2016年8月4日開始的每隔一個星期六
}
現在,定義鮑勃應何時接收通知的時間段。鮑勃會在約翰沒有的那幾周收到通知,因此他的第一個上班日將從下一個星期日開始(2016年8月5日)。
定義時間{
timeperiod_name bob-oncall
2016-08-05 / 14 00:00-24:00; 從2016年8月5日(星期日)開始,每14天(兩周)
2016-08-06 / 14 00:00-24:00; 從2016年8月6日開始的每隔一個星期一
2016-08-07 / 14 00:00-24:00; 從2016年8月7日開始的隔周二
2016-08-08 / 14 00:00-24:00; 從2016年8月8日開始,隔周三
2016-08-09 / 14 00:00-24:00; 從2016年8月9日開始,隔周四
2016-08-10 / 14 00:00-24:00; 從2016年8月10日開始的每隔一個星期五
2016-08-11 / 14 00:00-24:00; 從2016年8月11日開始的每隔一個星期六
}
現在,您需要在John和Bob的聯系人定義中引用以下時間段定義:
定義聯系人{
contact_name約翰
…
host_notification_period john-oncall
service_notification_period約翰·oncall
}
定義聯系人{
contact_name鮑勃
…
host_notification_period bob-oncall
service_notification_period bob-oncall
}
方案4:休假日
在這種情況下,John會整天處理通知,但他下班的時間除外。他每個月都有幾天的休息日,以及一些計劃的假期。當John休假或不在辦公室時,Bob處理通知。
首先,定義一個時間段,其中包含約翰休假日和休息日的時間范圍:
定義時間{
約翰在辦公室
timeperiod_name辦公室外的約翰
第15天00:00-24:00; 每個月的15日
第-1天00:00-24:00; 每個月的最后一天(28日,29日,30日或31日)
天-2 00:00-24:00; 每個月的第二天到最后一天(27、28、29或30)
1月2日00:00-24:00; 每年1月2日
6月1日-7月5日00:00-24:00; 年度露營之旅(6月1日至7月5日)
2007-11-01-2007-11-10 00:00-24:00; 赴美屬維爾京群島度假(2007年11月1日至10日)
}
接下來,為約翰的通話時間定義一個時間周期,其中不包括上述時間周期中定義的日期/時間:
定義時間{
timeperiod_name john-oncall
星期一00:00-24:00
星期二00:00-24:00
周三00:00-24:00
星期四00:00-24:00
星期五00:00-24:00
排除約翰不在辦公室;排除約翰不在的日期/時間
}
現在,您可以在John的聯系人定義中引用此時間段:
定義聯系人{
contact_name約翰
…
host_notification_period john-oncall
service_notification_period約翰·oncall
}
為鮑勃的通話時間定義一個新的時間段,其中包括約翰不在辦公室的日期/時間:
定義時間{
timeperod_name bob-oncall
使用john-of-office; 包括約翰不在的假期日期/時間
}
您現在可以在Bob的聯系人定義中引用此時間段:
定義聯系人{
contact_name鮑勃
…
host_notification_period bob-oncall
service_notification_period bob-oncall
}
其他情況
您可能還有許多其他的通話通知循環方案。時間周期定義中的date異常指令能夠處理您可能需要使用的大多數日期和日期范圍,因此請檢查可用的不同格式。如果在創建時間段定義時犯了一個錯誤,請總是錯于給其他人更多的值班時間。
Nagios Core中文使用教程
推薦文章: