zabbix通过 perf_counter[ ]监控Windows

zabbix通过 perf_counter[ ]监控Windows

学习此方法你就可以想怎么监控就怎么监控Windows各项指标。

说明:此文章只针对perf_counter键值对做详细的解释,如若监控其他轻参考WINDOWS的监控项键值

环境说明

Windows-server服务器说明,在此说明window服务器版本问题是因为每个版本之间的操作存在的差异,但是大体思路是一致,要学会思路和方法。
在这里插入图片描述

Windows安装zabbix客户端

1. 在官网下载对应zabbix-agent版本。

根据自己的需要选择对应的选项。

在这里插入图片描述

2. 解压zabbix-agent压缩包

正常压缩包包含以下内容,bin目录下包含三个启动文件还有一个conf目录下一个配置文件

在这里插入图片描述

在这里插入图片描述

3. 配置Windows环境变量

配置环境变量是为了方便执行命令,不用携带启动文件之前长长目录。为了方便。

  • 在开始界面打开“运行”或者 “win + R” 键打开”运行“,输入 “sysdm.cpl”

在这里插入图片描述

  • 接下来点击高级,点击高级里面的环境变量

在这里插入图片描述

  • 最后配置环境变量

打开环境变量,找到“系统变量”里面的变量名为“Path”的环境变量。点击”编辑“,出来下图最右边的编辑框,在变量值的最后添加的zabbix-agent的bin目录。最后点击请确定。

注意:每一个变量值中间用英文的分号(;)隔开。

在这里插入图片描述

4. 修改配置文件

具体修改项,和其他zabbix-agent修改内容大致相同。

 SourceIP=192.168.195.156				 #本机的IP
 Server=192.168.195.160					 #在web界面配置被动监控时,此项必须配置。哪台机器来zabbix-agent机器拿数据。
 ListenPort=10050						 #zabbix-agent端口
 ListenIP=0.0.0.0						 #自己监听的地址,0.0.0.0表示本机所有地址
 ServerActive=192.168.195.160   		 #在web界面配置主动监控时,此项必须配置,启用主动监控时需要把采集的数据发给哪台机器。有代理就填写代理机器的IP。
 Hostname=Windows_host_192.168.195.156   #自己能被server端识别的名称,web界面添加主机时需要填写的主机名称。

5. 启动zabbix-agent

  • 新打开一个Windows PowerShell命令行,注意这个地方一定使用管理员打开

在这里插入图片描述

  • Windows启停zabbix-agent命令。
.\zabbix_agentd.exe --config <your_configuration_file> --start	#指定配置文件启动,注意:配置文件使用绝对路径

.\zabbix_agentd.exe --config <your_configuration_file> --stop	#指定配置文件停止,注意:配置文件使用绝对路径

6. 查看进程和端口是否存在

  • 查看10050端口
 .\netstat.exe -ano |findstr 10050

在这里插入图片描述

  • 查看zabbix-agent进程

zabbix agent也已经处于启动的状态。

在这里插入图片描述

配置web界面

配置web界面这里就不过多说明,基本上是没有什么区别,和配置其他主机步骤差不多。主要针对监控项的配置这里做一下说明。

监控项perf_counter[counter,<interval>]

  • 下图为此监控项的说明
perf_counter[counter,<interval>]
Windows性能计数器的值。整数, 浮点, 字符串或者文本(取决于请求)counter - 计数器的路径 interval - 最后N秒用于存储平均值。 interval为选填参数,值必须在1到900(包含)秒之间,默认值为1。性能监视器可用于获取可用计数器列表。 在版本1.6之前,此参数仅为仅需要一个样本的计数器(如 \System\Threads)返回正确的值。 对于需要更多样本的计数器(如CPU利用率),它将无法正常工作。 从1.6开始, 可以使用 interval ,因此检查每次返回最后“间隔”秒的平均值。
1. WINDOWS性能计数器(counter)
概览

你可以使用 perf_counter[] 这个key有效的监控Windows性能计数器。

例如:

perf_counter["\Processor(0)\Interrupts/sec"]

perf_counter["\Processor(0)\Interrupts/sec", 10]

为了获取可用于监控的性能计数器完整列表,你可以运行:

typeperf -qx
数字表示

由于性能计数器的命名在不同的Windows服务器上可能不同,这取决于服务器的地区设置。因此,在创建用于监控具有不同地区设置的多台Windows设备的模板时,会引发一定的问题。

同时,每个新能计数器也可以通过其数字形式来引用,无论如何,数字形式都是唯一的,因此你可以使用数字表示而不是字符串。

为了找到同义的数字,需要运行 regedit ,然后找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009下面的counter注册表。

注册表中包含形如下面所示的信息:

1
1847
2
System
4
Memory
6
% Processor Time
10
File Read Operations/sec
12
File Write Operations/sec
14
File Control Operations/sec
16
File Read Bytes/sec
18
File Write Bytes/sec
....

通过如下的命令你可以查找到你想要指标的完整路径:

.\typeperf.exe -qx |find "在注册表内存在的某一个你需要的指标"

在这里插入图片描述

这样你就可以找到性能计数器每个字符串对应的数字,例如:

System -> 2
File Read Bytes/sec -> 16

然后你就可以使用这些数字来表示性能计数器路径:

\2\16
性能计数器参数

你可以部署一些PerfCounter参数,来完成通过Windows性能计数器监控。

例如,你可以将下面的内容添加到ZABBIX代理配置文件中:

   PerfCounter=UserPerfCounter1,"\Memory\Page Reads/sec",30
   or
   PerfCounter=UserPerfCounter2,"\4\24",30

配置了这些参数后,你就可以简单的使用 UserPerfCounter1UserPerfCounter2 作为key来创建相应的监控项。

当然,别忘了在更改了配置文件后重新启动ZABBIX Agent。

实例:

我们需要监控Windows系统“文件每秒读取字节数”

  • 我们先在注册表内找到我们需要的计数器

在这里插入图片描述

  • 之后打开一个Windows powershell界面,输入以下命令,查看计数器所对应的目录
.\typeperf.exe -qx |find "File Read Bytes/sec"

在这里插入图片描述

  • 复制结果,到web界面,进行监控项的配置

在这里插入图片描述

  • 点击最新数据,找到刚才配置的监控,查看监控结果

在这里插入图片描述
到此通过perf_counter这种方式的监控就结束了,有问题欢迎评论区留言哟。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值