限制Nagios報警次數用escalations
圖-Nagios
Nagios是非常強大的一款監控工具,尤其是它的告警功能,現在網上實現的形式多種多樣如結合移動139郵箱、Fetion、MSN等,但是如果服務器出現故障而未能及時的解決,Nagios就會不斷的發送告警信息,實在令人頭疼?,F在用escalations,如下方法可以解決Nagios的告警次數問題。
系統環境:CentOS 5.2
Nagios版本:3.0.6
Nagios安裝路徑:/usr/local/nagios
配置文件內容定義:#基本的配置就不再進行注釋了。
- hosts.cfg
- define host{
- host_name WWW-Server
- alias WWW-Server
- address 193.1.16.100
- check_command check-host-alive
- max_check_attempts 5
- check_period 24x7
- notification_interval 10
- notification_period 24x7
- notification_options d,u,r
- notifications_enabled 1
- contact_groups chengnan
- }
- Services.cfg
- define service{
- host_name WWW-Server
- service_description Check_HTTP
- check_command check_http
- max_check_attempts 10
- normal_check_interval 3
- retry_check_interval 2
- check_period 24x7
- notification_interval 5
- notification_period 24x7
- notification_options w,u,c,r
- contact_groups admin
- }
- define service{
- host_name WWW-Server
- service_description Check_Jetty
- check_command check_tcp!8080
- max_check_attempts 10
- normal_check_interval 3
- retry_check_interval 2
- check_period 24x7
- notification_interval 5
- notification_period 24x7
- notification_options w,u,c,r
- contact_groups admin
- }
- Contacts.cfg
- define contact{
- contact_name chengnan
- alias chengnan
- service_notification_period 24x7
- host_notification_period 24x7
- service_notification_options w,u,c,r
- host_notification_options d,u,r
- service_notification_commands notify-service-by-email
- host_notification_commands notify-host-by-email
- email chengnan@139.com //手機郵箱
- }
- define contactgroup{
- contactgroup_name chengnan
- alias Nagios Administrators
- members chengnan
- }
#p#
除此之外再定義一個聯系人
- define contact{
- contact_name chengnan_cor
- alias chengnan_cor
- service_notification_period 24x7
- host_notification_period 24x7
- service_notification_options w,u,c,r
- host_notification_options d,u,r
- service_notification_commands notify-service-by-email
- host_notification_commands notify-host-by-email
- email chengnan@company.com //公司郵箱
- }
- define contactgroup{
- contactgroup_name sysadmin
- alias sysadmin
- members chengnan_cor
- }
#p#
然后創建一個配置文件:
vi escalations.cfg
escalations有自動調整;不斷增加; 逐步上升等意思,本身配置文件的功能是當服務在某一告警次數前沒有恢復,告警頻率周期將會縮短,同時將告警信息發送至指定聯系人。
其內容為:
define hostescalation{
host_name WWW-Server //被監控主機名稱,與Hosts.cfg中一致
first_notification 4 // 第n條信息起,改變頻率間隔
last_notification 0 // 第n條信息起,恢復頻率間隔
notification_interval 30 // 通知間隔(分)
contact_groups sysadmin
}
說明:從第4條告警信息起至服務器恢復前,告警信息發送至sysadmin組下的聯系人,告警間隔為30分鐘1條信息。
define serviceescalation{
host_name WWW-Server //被監控主機名稱,與Hosts.cfg中一致
service_description Check_HTTP,Check_Jetty //被監控服務名稱,與Services.cfg中一致
first_notification 4
last_notification 0
notification_interval 30
contact_groups sysadmin
}
保存
修改nagios.cfg
vi nagios.cfg
添加:
cfg_file=/usr/local/nagios/etc/objects/escalations.cfg
檢查nagios配置文件是否正確
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
重新啟動nagios服務:
service nagios restart
測試:
服務器啟動后停掉被監控測試機的相應服務,確認告警信息是否按照設置發送至不同信箱
#p#
后記
escalations這個功能官方給的定義是notification的擴充,使notification變得更加靈活,方便。文中我使用的方法算是耍了個小聰明,將第四條告警信息后的所有信息全部發送至我公司郵箱直至服務器恢復(recovery的信息還是會發送至手機的),從而實現限制告警信息發送至手機的條數。
通過文章的說明解說,我們大致明白了限制Nagios報警次數就用escalations。希望本文對你們有用!
【編輯推薦】
- Nagios監控服務器的配置
- Nagios監控Windows客戶端
- Ubuntu下安裝運行Nagios
- 運維監控Nagios:啟動服務
- Nagios遠程監控軟件的裝置與設置裝備
- nagios報警通過飛信
- nagios客戶端程序的安裝