下载网卡监控脚本:http://www.linuxpub.net/download/file.php?id=82&sid=5f82a6c45316385cf5b70b023c59b685
解压上传到nagios所在机器中。
复制代码代码示例:
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/下,并修改权限。
复制代码代码示例:
mv check_traffic.sh /usr/local/nagios/libexec/
chown nagios.nagios /usr/local/nagios/libexec/check_traffic.sh chmod 755 /usr/local/nagios/libexec/check_traffic.sh
修改snmp的配置文件
修改的选项如下(标红部分):
复制代码代码示例:
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact mib2 none none ##去掉下面此行行首注释#。 view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
网卡参数检测
复制代码代码示例:
/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不存在,因此会有以下提示,可以忽略。 如果每次执行都忽略,则要检查/var/tmp下是否有/var/tmp/check_traffic_${Host}_${Interface}.hist_dat文件生成。
出现错误提示: 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命令。
解决办法:
复制代码代码示例:
yum install net-snmp-devel net-snmp-utils -y
nagios监控机的配置
复制代码代码示例:
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
cat /usr/local/nagios/etc/nrpe.cfg vi /usr/local/nagios/etc/objects/myhosts/services.cfg #配置文件的路径因人而异,nagios自带的可以添加linux监控service的文件是/usr/local/nagios/etc/objects/localhost.cfg。
在文件末尾添加如下代码:
复制代码代码示例:
define service{
use local-service,srv-pnp host_name localhost service_description check_nv_traffic_eth0 check_command check_nrpe!check_traffic notifications_enabled 0 check_interval 1 }
nagios被监控机配置
复制代码代码示例:
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
cat /usr/local/nagios/etc/nrpe.cfg
在监控机和被监控机上重启nrpe服务,在监控机上重置nagios服务。
复制代码代码示例:
killall -9 nrpe
ps -ef | grep nrpe /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d ps -ef | grep nrpe
service nagios reload #在监控机上执行 |