Nagios监控window主机和LInux主机网卡流量
n342
9年前
安装snmp
yum install net-snmp 修改如下 [root@xen etc]# grep -v '#' /etc/snmp/snmpd.conf |grep -v '^$' com2sec notConfigUser default mypublic com2sec notConfigUser 192.168.0.138 mypublic group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 access notConfigGroup "" any noauth exact all none none view all included .1 80 view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc syslocation Unknown (edit /etc/snmp/snmpd.conf) syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf) dontLogTCPWrappersConnects yes
首先将check_triffic.sh脚本拷贝到/usr/local/nagios/libexec/里面。然后在/usr/local/nagios/etc/objects/commands.cfg 文件中添加
define command{ command_name check_traffic command_line $USER1$/check_traffic.sh -V 2c -C mypublic -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$,$ARG3$ -c $ARG4$,$ARG5$ }
检测自己网卡型号
[root@xen etc]# /usr/local/nagios/libexec/check_traffic.sh -V 2c -C mypublic -H 192.168.0.156 -L List Interface for host 192.168.0.156. Interface index 1 orresponding to lo #1号网卡 Interface index 2 orresponding to eth0 #2号网卡
输出信息中index后面的数字就是你要监控网卡的代号
可以自己通过命令先执行一下:
/usr/local/nagios/libexec/check_traffic.sh -V 2c -C mypublic -H 192.168.0.156 -I 2 -w 10,10 -c 30,30
V 代表snmp版本 C 代表community的名称 H 代表主机IP I 代表网卡号 w 警告 c 紧急 补充:10,10 30,30(代表in,out)
输出:
OK - The Traffic In is 0.11KB, Out is 0.0KB, Total is 0.11KB. The Check Interval is 109s |In=0.11KB;1200;1700;0;0 Out=0.0KB;1500;1800;0;0 Total=0.11KB;2700;3500;0;0 Interval=109s;1200;1800;0;0
如果你跟我一样报错
[root@xen libexec]# /usr/local/nagios/libexec/check_traffic.sh -V 2c -C mypublic -H 192.168.0.156 -L List Interface for host 192.168.0.156. Interface index = No Such Object available on this agent at this OID
请修改
解决: vim /etc/snmp/snmpd.conf 修改两处: 一处: access notConfigGroup "" any noauth exact all none none 或者 access notConfigGroup "" any noauth exact mib2 none none 二处: view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc
添加服务
vim /usr/local/nagios/etc/objects/linuxhost.cfg define service{ use generic-service,srv-pnp ; Name of service template to use host_name linuxhost service_description check_traffic check_command check_nrpe!check_traffic }
我这是通过NRPE监控远程LInux主机所以这个check_traffic脚本先放到远程linux主机/usr/local/nagios/libexec下,然后修改/usr/local/nagios/etc/nrpe.cf
添加
command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C mypublic -H 127.0.0.1 -I 2 -w 1200,1500 -c 1700,1800 -K -B
监控页面显示服务未知?
Unknown - Read or Write File /var/tmp/check_traffic_192.168.0.156_2__itnms.hist_dat_64 Error with user uid=542(nagios) gid=543(nagios) groups=543(nagios),544(nagcmd) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023.
修改其权限为nagios.nagios即可
[root@www tmp]# pwd /var/tmp [root@www tmp]# ll 总用量 32 -rw-r--r-- 1 nagios nagios 34 4月 28 13:00 check_traffic_192.168.0.137_12__itnms.hist_dat_32 -rw-r--r-- 1 nagios nagios 34 4月 28 11:48 check_traffic_192.168.0.137_18__itnms.hist_dat_32 -rw-r--r-- 1 nagios nagios 34 4月 28 11:48 check_traffic_192.168.0.137_19__itnms.hist_dat_32 -rw-r--r-- 1 nagios nagios 34 4月 28 11:48 check_traffic_192.168.0.137_23__itnms.hist_dat_32 -rw-r--r-- 1 nagios nagios 34 4月 28 11:49 check_traffic_192.168.0.137_24__itnms.hist_dat_32 -rw-rw-r-- 1 nagios nagios 15 4月 28 11:44 check_traffic_192.168.0.137_3__itnms.hist_dat_32 -rw-r--r-- 1 nagios nagios 32 4月 29 09:34 check_traffic_192.168.0.138_3__itnms.hist_dat_64 drwx------ 3 root root 4096 4月 28 10:25 kdecache-root
即可恢复看到网卡流量
check_traffic 下载地址http://pan.baidu.com/s/1i3vNlBJ
监控本机网卡流量
先定义command.cf
define command{ command_name check_traffic command_line $USER1$/check_traffic.sh -V 2c -C mypublic -H $HOSTADDRESS$ -I $ARG1$ -w $ARG2$,$ARG3$ -c $ARG4$,$ARG5$ }
定义服务
define service{ use local-service,srv-pnp ; Name of service template to use host_name localhost service_description check_traffic check_command check_traffic!3!100!100!300!300 }
单位默认是Kbps
监控window主机
首先安装snmp 安装方式 开始—>控制面板---找到简单网络管理协议SNMP 打勾--确定-开始安装 应该需要重启。
然后开始运行services.msc 找到snmp server 服务 右键属性 安全 社区添加一个名字 用来验证 我的是mypubic 接受来自那些主机 填你的nagios server 即可
查看服务器网卡序列
[root@www ~]# /usr/local/nagios/libexec/check_traffic.sh -V 2c -C mypublic -H 192.168.0.137 -L #找到你要监控的网卡 我这里自己是window 7 用的无线 #前提window 主机要安装NSClient++ 才可以被监控 List Interface for host 192.168.0.137. Interface index 1 orresponding to Software Loopback Interface 1 Interface index 2 orresponding to WAN Miniport (SSTP) Interface index 3 orresponding to WAN Miniport (L2TP) Interface index 4 orresponding to WAN Miniport (PPTP) Interface index 5 orresponding to WAN Miniport (PPPOE) Interface index 6 orresponding to WAN Miniport (IPv6) Interface index 7 orresponding to WAN Miniport (Network Monitor) Interface index 8 orresponding to WAN Miniport (IP) Interface index 9 orresponding to RAS Async Adapter Interface index 10 orresponding to WAN Miniport (IKEv2) Interface index 11 orresponding to Qualcomm Atheros AR8152/8158 PCI-E Fast Ethernet Controller (NDIS 6.20) Interface index 12 orresponding to Broadcom 802.11n ��������� Interface index 13 orresponding to Teredo Tunneling Pseudo-Interface Interface index 14 orresponding to Microsoft ISATAP Adapter Interface index 15 orresponding to Microsoft ISATAP Adapter #2 Interface index 16 orresponding to Qualcomm Atheros AR8152/8158 PCI-E Fast Ethernet Controller (NDIS 6.20)-QoS Packet Scheduler-0000 Interface index 17 orresponding to Qualcomm Atheros AR8152/8158 PCI-E Fast Ethernet Controller (NDIS 6.20)-WFP LightWeight Filter-0000 Interface index 18 orresponding to Broadcom 802.11n ����������-Virtual WiFi Filter Driver-0000 Interface index 19 orresponding to Broadcom 802.11n ����������-QoS Packet Scheduler-0000 Interface index 20 orresponding to WAN Miniport (Network Monitor)-QoS Packet Scheduler-0000 Interface index 21 orresponding to WAN Miniport (IP)-QoS Packet Scheduler-0000 Interface index 22 orresponding to WAN Miniport (IPv6)-QoS Packet Scheduler-0000 Interface index 23 orresponding to Broadcom 802.11n ����������-Native WiFi Filter Driver-0000 Interface index 24 orresponding to Broadcom 802.11n ����������-WFP LightWeight Filter-0000
检测能不能从window主机获取流量信息。第一次可能很慢
[root@www ~]# /usr/local/nagios/libexec/check_traffic.sh -V 2c -C mypublic -H 192.168.0.137 -I 12 -w 10,10 -c 30,30 Error in packet Reason: (noSuchName) There is no such variable name in this MIB. Failed object: IF-MIB::ifHCOutOctets.12 Critical - The Traffic In is 11Kbps, Out is 52Kbps, Total is 63Kbps. The Check Interval is 494s |In=11Kbps;10;30;0;0 Out=52Kbps;10;30;0;0 Total=63Kbps;20;60;0;0 Interval=494s;1200;1800;0;0
定义window.cf 添加主机和服务
define service{ use generic-service,srv-pnp host_name winserver service_description Network check_command check_traffic!12!100!100!300!300 }
检测看有没有语法错误。
重启nagios 看监控页面