Nagios的配置
配置Nagios
需要做些對(duì)象定義以監(jiān)控新的交換機(jī)與路由器設(shè)備。
打開(kāi)switch.cfg文件進(jìn)行編輯。
- vi /usr/local/nagios/etc/objects/switch.cfg
給要監(jiān)控的交換機(jī)加一個(gè)新的主機(jī)對(duì)象定義。如果這是第一臺(tái)要監(jiān)控的交換機(jī)設(shè)備,可以簡(jiǎn)單地修改switch.cfg里的樣例配置。修改主機(jī)對(duì)象里的host_name、alias和address域值來(lái)適用于監(jiān)控。
- define host{ use generic-switch ; Inherit default values from a template host_name linksys-srw224p ; The name we're giving to this switch alias Linksys SRW224P Switch ; A longer name associated with the switch address 192.168.1.253 ; IP address of the switch hostgroups allhosts,switches ; Host groups this switch is associated with}
監(jiān)控服務(wù)
現(xiàn)在可以加些針對(duì)監(jiān)控交換機(jī)的服務(wù)對(duì)象定義(在同一個(gè)配置文件)。如果是第一臺(tái)要監(jiān)控的交換機(jī)設(shè)備,可以簡(jiǎn)單地修改switch.cfg里的樣例配置。
注意:替換樣例定義里的"linksys-srw224p"主機(jī)名為你剛才定義的名字,是修改在host_name域。
監(jiān)控丟包率和RTA
增加如下的服務(wù)定義以監(jiān)控自Nagios監(jiān)控主機(jī)到交換機(jī)的丟包率和平均回包周期RTA,在一般情況下每5分鐘檢測(cè)一次。
- define service{ use generic-service ; Inherit values from a template host_name linksys-srw224p ; The name of the host the service is associated with service_description PING ; The service description check_command check_ping!200.0,20%!600.0,60% ; The command used to monitor the service normal_check_interval 5 ; Check the service every 5 minutes under normal conditions retry_check_interval 1 ; Re-check the service every minute until its final/hard state is determined}
這個(gè)服務(wù)的狀態(tài)將會(huì)處于:
緊急(CRITICAL)-條件是RTA大于600ms或丟包率大于等于60%;
告警(WARNING)-條件是RTA大于200ms或是丟包率大于等于20%;
正常(OK)-條件是RTA小于200ms或丟包率小于20%
監(jiān)控SNMP狀態(tài)信息
如果交換機(jī)與路由器支持SNMP接口,可以用check_snmp插件來(lái)監(jiān)控更豐富的信息。如果不支持SNMP,跳過(guò)此節(jié)。
加入如下服務(wù)定義到你剛才修改的交換機(jī)對(duì)象定義之中
- define service{ use generic-service ; Inherit values from a template host_name linksys-srw224p service_description Uptime check_command check_snmp!-C public -o sysUpTime.0}
在上述服務(wù)定義中的check_command域里,用"-C public"來(lái)指定SNMP共同體名稱為"public",用"-o sysUpTime.0"指明要檢測(cè)的OID(譯者注-MIB節(jié)點(diǎn)值)。
如果要確保交換機(jī)上某個(gè)指定端口或接口的狀態(tài)處于運(yùn)行狀態(tài),可以在對(duì)象定義里加入一段定義:
- define service{ use generic-service ; Inherit values from a template host_name linksys-srw224p service_description Port 1 Link Status check_command check_snmp!-C public -o ifOperStatus.1 -r 1 -m RFC1213-MIB}
在上例中,"-o ifOperStatus.1"指出取出交換機(jī)的端口編號(hào)為1的OID狀態(tài)。"-r 1"選項(xiàng)是讓check_snmp插件檢查返回一個(gè)正常(OK)狀態(tài),如果是在SNMP查詢結(jié)果中存在"1"(1說(shuō)明交換機(jī)端口處于運(yùn)行狀態(tài))如果沒(méi)找到1就是緊急(CRITICAL)狀態(tài)。"-m RFC1213-MIB"是可選的,它告訴check_snmp插件只加載"RFC1213-MIB"庫(kù)而不是加載每個(gè)在系統(tǒng)里的MIB庫(kù),這可以加快插件運(yùn)行速度。
這就是給SNMP庫(kù)的例子。有成百上千種信息可以通過(guò)SNMP來(lái)監(jiān)控,這完全取決于你需要做什么和如果來(lái)做監(jiān)控。祝你好運(yùn)!
提示:
通常可以用如下命令來(lái)尋找你想用于監(jiān)控的OID節(jié)點(diǎn)(用你的交換機(jī)IP替換192.168.1.253):snmpwalk -v1 -c public 192.168.1.253 -m ALL .1
監(jiān)控帶寬和流量
可以監(jiān)控交換機(jī)或路由器的帶寬利用率,用MRTG繪圖并讓Nagios在流量超出指定門(mén)限時(shí)報(bào)警。check_mrtgtraf插件(它已經(jīng)包含在Nagios插件軟件發(fā)行包中)可以實(shí)現(xiàn)。
需要讓check_mrtgtraf插件知道如何來(lái)保存MRTG數(shù)據(jù)并存入文件,以及門(mén)限等。在例子中,監(jiān)控了一個(gè)Linksys交換機(jī)。MRTG日志保存于/var/lib/mrtg/192.168.1.253_1.log文件中。這就是我用于監(jiān)控的服務(wù)定義,它可以用于監(jiān)控帶寬數(shù)據(jù)到日志文件之中...
- define service{ use generic-service ; Inherit values from a template host_name linksys-srw224p service_description Port 1 Bandwidth Usage check_command check_local_mrtgtraf!/var/lib/mrtg/192.168.1.253_1.log!AVG!1000000,2000000!5000000,5000000!10}
在上例中,"/var/lib/mrtg/192.168.1.253_1.log"參數(shù)傳給check_local_mrtgtraf命 令意思是插件的MRTG日志文件在這個(gè)文件里讀寫(xiě),"AVG"參數(shù)的意思是取帶寬的統(tǒng)計(jì)平均值,"1000000,200000"參數(shù)是指流入的告警門(mén)限 (以字節(jié)為單位),"5000000,5000000"是輸出流量緊急狀態(tài)門(mén)限(以字節(jié)為單位),"10"是指如果MRTG日志如果超過(guò)10分鐘沒(méi)有數(shù)據(jù) 返回一個(gè)緊急狀態(tài)(應(yīng)該每5分鐘更新一次)。
保存該配置文件
重啟動(dòng)Nagios
一旦給switch.cfg文件里加好新的主機(jī)與服務(wù)對(duì)象定義,就可以開(kāi)始對(duì)路由器與交換機(jī)進(jìn)行監(jiān)控。為了開(kāi)始監(jiān)控,需要先驗(yàn)證配置文件再重新啟動(dòng)Nagios。
如果驗(yàn)證過(guò)程有有任何錯(cuò)誤信息,修改配置文件再繼續(xù)。一定要保證配置驗(yàn)證過(guò)程中沒(méi)有錯(cuò)誤信息再啟動(dòng)Nagios!
【編輯推薦】



















