最近在河南项目的几台Windows流媒体服务器流量使用很高,需要监控每天的带宽使用情况,并根据具体的情况做相应的调整!前期部署监控的系统的时候网络流量方面采用Cacti统一监控,服务方面采用Nagios统一监控并报警!实际的使用过程中,流媒体带宽很快就超过了100Mb,Cacti出图方面的信息极为不准确,Google一番,类似的情况很多,主要反应为Snmp 32位的问题,折腾一番后,问题依旧!
从图片上看,改为In/Out bits(64-bit Counters)后,就直接不出图了,In/Out bits则出图,但数据完全不对!随便看下服务器的带宽使用,任何时刻都超过100Mb。
于是继续排查,发现貌似windows系统本身不支持snmp 64bit counters,参考请看这里:
于是改用Nagios直接监控网卡的计数器数据:
- [root@bak ~]# /usr/local/nagios/libexec/check_nt -H "ip address" -p 12489 -v COUNTER -l '\Network Interface(Broadcom NetXtreme Gigabit Ethernet)\Bytes Total/sec',"Total_Bytes/s %f" -w 78643200 -c 85196800
- Total_Bytes/s 21052800.000000 | 'Total_Bytes/s %f'=21052800.000000%;78643200.000000;85196800.000000;
发现数据大致正确,(21052800/1024/1024)*8 = 160Mb,于是直接写入配置文件,使用check_nrpe插件调用:
- define service{
- use local-service
- host_name ip address
- service_description Network traffic
- check_command check_nt!COUNTER!-l '\\Network Interface(Broadcom NetXtreme Gigabit Ethernet)\\Bytes Total/sec',"Total_Bytes/s %f" -w 78643200 -c 85196800
- notifications_enabled 1 }