Zabbix Agentd在Windows下如何获得网卡流量
在官方下载Zabbix Agent后,压缩包里面应该有2个目录,一个为win32,另一个是win64,这个一看就明白是怎么回事了,每个目录下应该有3个文件,分别为:zabbix_agentd.exe zabbix_get.exe zabbix_sender.exe,我们这里只讨论通过zabbix_agentd和zabbix_get两个文件实现获取Windowx系统下网卡的流量。
在C:\下创建一个配置文件,内容为:
Server = 127.0.0.1
通过运行zabbix_agentd.exe -s启动Agnetd服务。
测试:
zabbix_get.exe -s 127.0.0.1 -k system.uptime
如果有数字显示,说明一切工作正常了。
通过以上配置,系统只能显示一些基本的系统信息,如果CPU负载、系统启动时间等,对于网卡流量的获取,每个机器由于机器网卡的数量和类型不一致,所以没有一个统一的key来获取,因此需要获取网卡的流量信息,需要修改zabbix_agentd.conf文件。增加类似:
PerfCounter= NetIn5,"\Network Interface(HP NC7770 Gigabit Server Adapter)\Bytes Received/sec",5 PerfCounter= NetOut5,"\Network Interface(HP NC7770 Gigabit Server Adapter)\Bytes Sent/sec",5 PerfCounter= LocalIn5,"\Network Interface(MS TCP Loopback interface)\Bytes Received/sec",5 PerfCounter= LocalOut5,"\Network Interface(MS TCP Loopback interface)\Bytes Sent/sec",5 PerfCounter= DiskRead5, "\LogicalDisk(_Total)\Disk Read Bytes/sec",5 PerfCounter= DiskWrite5, "\LogicalDisk(_Total)\Disk Write Bytes/sec",5 PerfCounter= Interrupts5, "\Processor(_Total)\Interrupts/sec",5
问题的关键就在“\Network Interface(HP NC7770 Gigabit Server Adapter)\Bytes Sent/sec”怎么获得,不同的系统这个值是不一样的,不同的网卡这个值也是不一样的,需要根据自身的系统灵活的变换。
那么如何才能获得本机的这些参数呢?系统提供了相应的命令,只要运行:
typeperf -qx | find “Network Interface”
修改配置文件重新启动zabbix_agentd.exe后通过
zabbix_get.exe -s 127.0.0.1 -k NetOut5
来获取相应的流量信息。