目前 nagios 只能在瀏覽器上查看各個(gè)機(jī)器各個(gè)服務(wù)的狀態(tài),當(dāng)某個(gè)機(jī)器宕掉或者某個(gè)
創(chuàng)新互聯(lián)是一家專業(yè)提供富拉爾基企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、H5建站、小程序制作等業(yè)務(wù)。10年已為富拉爾基眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
服務(wù)宕掉時(shí),我們是不知道,因?yàn)槲覀儾豢赡芤恢倍⒅?wù)看。這時(shí)候,就需要用到告警系
統(tǒng)了,讓它自動化,當(dāng)發(fā)現(xiàn)問題時(shí)及時(shí)通知到我們。下面我們配置使用發(fā)郵件的方式來實(shí)現(xiàn)
告警。
以下所有操作都在服務(wù)端上完成。
首先定義發(fā)郵件接收者。
# vim /etc/nagios/objects/contacts.cfg
增加:
define contact{
contact_name 123
use generic-contact
alias aming
email aming@139.com
}
define contact{
contact_name 456
use generic-contact
alias aaa
email linux@139.com
}
define contactgroup{
contactgroup_name common
alias common
members 123,456
}
說明: contacts.cfg 里面既可以定義 user 也可以定義 group, 先定義兩個(gè) user 123 和 456,
然后把這兩個(gè) user 加入到 common 組里面。等會發(fā)郵件就發(fā)給 common 組就可以了,那這
樣 aming@139.com 和 linux@139.com 都會收到郵件。
然后在要需要告警的服務(wù)里面加上 contactgroup
# vim /etc/nagios/conf.d/192.168.0.12.cfg
針對 check_load 服務(wù)增加告警相關(guān)的配置
define service{
use generic-service
host_name 192.168.0.12
service_description check_load
check_command check_nrpe!check_load
max_check_attempts 5
normal_check_interval 1
contact_groups common
notifications_enabled 1
notification_period 24x7
notification_options w,u,c,r
}
說明:notifications_enabled 1 表示是否開啟提醒功能。1 為開啟,0 為禁用。一般,這
個(gè)選項(xiàng)會在主配置文件(nagios.cfg)中定義,效果相同。notification_period 24x7 表示發(fā)送
提醒的時(shí)間段。非常重要的主機(jī)(服務(wù))我定義為 7×24,一般的主機(jī)(服務(wù))就定義為上
班時(shí)間。如果不在定義的時(shí)間段內(nèi),無論什么問題發(fā)生,都不會發(fā)送提醒。
notification_options:w,u,c,r 表示 service 的狀態(tài)。w 為 waning, u 為 unknown, c 為 critical, r
為 recover(恢復(fù)了),類似的還有一個(gè) host 對應(yīng)的狀態(tài):d,u,r d 狀態(tài)為 DOWN, u 狀態(tài)為
UNREACHABLE , r 狀態(tài)恢復(fù)為 OK,f 狀態(tài)為falpping, n 為不發(fā)送提醒。需要加入到 host 的定義配置里。
編輯完配置文件后,需要重啟 nagios 服務(wù)
# service nagios restart
【擴(kuò)展部分】
調(diào)用短信接口 http://www.aminglinux.com/bbs/thread-7380-1-1.html