利用Zabbix来监控Windows Performance Counter

Windows的性能计数器提供了很多系统的性能指标度量,通过Windows的性能计数器,我们可以对Windows的服务器的当前运行状态有个即时的情况了解。

Zabbix Agent支持(Win)

perf_counter[counter,<interval>]

内置带参数key,用来读取windows性能计数器的值。

perf_counter[\ASP.NET\Applications Running]

利用Zabbix来监控Windows Performance Counter_第1张图片

获取同时运行于服务器计算机上的ASP.NET应用程序的数目。

大家可以举一反三。

计数器名称的数字对应

性能计数器的名称有时候太长了,而且不同windows系统之间还可能不一致(中文版与英文版)。内置的zabbix模板里使用到的性能计数器都是用数字来表示的。

image

我们是否也能用这个数字来表示呢,经过搜索,发现了一个文章http://www.ttlsa.com/zabbix/zabbix-monitor-windows/

主要内容就是去查看注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009

其中有个Counter的Key

利用Zabbix来监控Windows Performance Counter_第2张图片

利用Zabbix来监控Windows Performance Counter_第3张图片

里面就有大家想要的信息。

Aggregate checks

用于聚合集群的汇总信息,比如当前请求数(perf_counter[\ASP.NET\Requests Current]),假设NLB集群有website1和website2。那么集群总的当前请求数就是website1和website2的当前请求数的和。要做到这一点,Zabbix里有一种item叫zabbix aggregate,它就可以做到这一点。

groupfunc["Host group","Item key",itemfunc,timeperiod]

他是基于Host Group来做聚合运算的。

grpsum["Windows Servers","perf_counter[\ASP.NET\Requests Current]",last,0]

利用Zabbix来监控Windows Performance Counter_第4张图片

 

手册传送门,里面有例子。

你可能感兴趣的:(利用Zabbix来监控Windows Performance Counter)