Nagios监控网卡流量

下载网卡监控脚本(地址:http://www.linuxpub.net/download/file.php?id=82&sid=5f82a6c45316385cf5b70b023c59b685

解压上传到nagios所在机器中。

 

 
    
  1. sudo rsync -av ~/Downloads/nagios\ 监控网卡流量插件/check_traffic.sh -e 'ssh -p [target-port]' target-username@target-IPaddress://target-directory 

移动check_traffic.sh文件到/usr/local/nagios/libexec/下,并修改权限。

 

 
    
  1. mv check_traffic.sh /usr/local/nagios/libexec/ 
  2. chown nagios.nagios /usr/local/nagios/libexec/check_traffic.sh 
  3. chmod 755 /usr/local/nagios/libexec/check_traffic.sh 

修改snmp的配置文件


 
    
  1. vi /etc/snmp/snmp.conf 

修改的选项如下(标红部分):

 

 
    
  1. # group context sec.model sec.level prefix read write notif 
  2. access notConfigGroup "" any noauth exact mib2 none none 
  3. ##去掉下面此行行首注释#。 
  4. view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc 

网卡参数检测


 
    
  1. /usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H localhost -w10240,16384 -c18432,20480 -K -b -I 2 

关于各个参数的含义,在/usr/local/nagios/libexec/check_traffic.sh中都可以看到。我经过多次尝试,最终确定了这几个参数。

第一次执行,因为history data file不存在,因此会有以下提示,可以忽略。

Can not found data in the history data file.


If it's the first time for this plugins, that's OK.
Otherwise,please use debug mode and check the debug file.

如果每次执行都忽略,则要检查/var/tmp下是否有/var/tmp/check_traffic_${Host}_${Interface}.hist_dat文件生成。

出现错误提示:

which: no snmpwalk in (/opt/jdk1.6.0_25/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/dell/srvadmin/bin:/opt/dell/srvadmin/sbin:/root/bin)

Can not found command snmpwalk in you system PATH: /opt/jdk1.6.0_25/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/dell/srvadmin/bin:/opt/dell/srvadmin/sbin:/root/bin, pleas check it

提示在PATH定义的目录中找不到 snmpwalk命令。

解决办法:


 
    
  1. yum install net-snmp-devel net-snmp-utils -y 

nagios监控机的配置

 

 
    
  1. echo 'command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H localhost -w10240,16384 -c18432,20480 -K -b -I 2' >> /usr/local/nagios/etc/nrpe.cfg 
  2. cat /usr/local/nagios/etc/nrpe.cfg 
  3. vi /usr/local/nagios/etc/objects/myhosts/services.cfg #配置文件的路径因人而异,nagios自带的可以添加linux监控service的文件是/usr/local/nagios/etc/objects/localhost.cfg。 

在文件末尾添加如下代码:

 

 
    
  1. define service{ 
  2. use local-service,srv-pnp 
  3. host_name localhost 
  4. service_description check_nv_traffic_eth0 
  5. check_command check_nrpe!check_traffic 
  6. notifications_enabled 0 
  7. check_interval 1 

nagios被监控机配置

check_traffic.sh 上传到被监控机插件目录。


 
    
  1. echo 'command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H localhost -w10240,16384 -c18432,20480 -K -b -I 2' >> /usr/local/nagios/etc/nrpe.cfg 
  2. cat /usr/local/nagios/etc/nrpe.cfg  

在监控机和被监控机上重启nrpe服务,在监控机上重置nagios服务。


 
    
  1. killall -9 nrpe 
  2. ps -ef | grep nrpe 
  3. /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 
  4. ps -ef | grep nrpe 


 
    
  1. service nagios reload #在监控机上执行 

 

登陆nagios监控站点,等待检测时间,查看监控结果。