系統版本
[root@localhost libexec]# cat /etc/redhat-release
CentOS release 5.6 (Final)
1 安裝和配置snmp
1)yum install net-snmp-utils net-snmp net-snmp-libs -y
2)vi /etc/snmp/snmpd.conf
把下面兩行的#号去掉
#view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
#view all included .1 80
把下面的語句
access notConfigGroup "" any noauth exact systemview none none
改為:
access notConfigGroup "" any noauth exact mib2 none none
3) 啟動snmp
/etc/init.d/snmpd start
2 下載下傳監控流量腳本測試
wget https://raw.githubusercontent.com/cloved/check_traffic/master/check_traffic.sh --no-check-certificate ##放到/usr/local/nagios/libexec目錄下
chmod +x /usr/local/nagios/libexec/check_traffic.sh
擷取網卡資訊
[root@localhost libexec]# ./check_traffic.sh -V 2c -C public -H localhost -L
List Interface for host localhost.
Interface index 1 orresponding to lo
Interface index 2 orresponding to eth0
[root@localhost libexec]# ./check_traffic.sh -V 2c -C public -H localhost -I 2 -w 1000,1200 -c 1400,1500 -K -B ## -I 後面的2 由上面的指令擷取
OK - The Traffic In is 0.11KB, Out is 1.08KB, Total is 1.19KB. The Check Interval is 1526s |In=0.11KB;1000;1400;0;0 Out=1.08KB;1200;1500;0;0 Total=1.19KB;2200;2900;0;0 Interval=1526s;1200;1800;0;0
定義in和out值分别超過1000K、1200K警告,超過1400K,1500k嚴重。(第一次運作沒有輸出,30s後再運作就有輸出)
3 在被監控端定義check_traffic指令
vi /usr/local/nagios/etc/nrpe.cfg
添加
command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H 127.0.0.1 -I 2 -w 1000,1200 -c 1400,1500 -K -B
4 在監控端定義服務
vi ../etc/objects/services.cfg
define service{
use generic-service
host_name localhost
service_description traffic
check_command check_nrpe!check_traffic
}
5 重新開機服務
pkill nrpe
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
/etc/init.d/nagios reload
6 手動測試
[root@localhost libexec]# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_traffic