zabbix配置Windows监控

环境

zabbix server

ens192:10.127.0.133
ens256:172.168.0.2

windows server2012

ens192:172.168.0.3
gateway:172.168.0.2

配置共享上网以及端口转发

这里的windows server2012环境使用的是esxi虚拟机,由于上公网的ip不够用,这里我做了nat,但esxi不支持nat网络,所以我使用iptables在zabbix server上实现了端口转发以及共享上网

开启zabbix server的路由转发功能

echo 1 > /proc/sys/net/ipv4/ip_forward

或者

vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
sysctl -p

配置iptables

iptables -t nat -A POSTROUTING -s 172.168.0.0/24 -o ens192 -j SNAT --to-source 10.127.0.133
iptables -t nat -A PREROUTING -d 10.127.0.133 -p tcp --dport 3389 -i ens192 -j DNAT --to-destination 172.168.0.3:3389
iptables-save

测试网络连通性

zabbix对Windows server的监控_第1张图片

进行远程连接测试

由于Windows server2012没有开启远程连接服务,需要在服务器管理器中添加角色和功能,步骤比较简单,这里不再赘述,直接连接zabbix server的3389端口就可以连接内网Windows server的远程桌面了
zabbix对Windows server的监控_第2张图片

下载zabbix agent客户端

下载地址:

开始安装

zabbix对Windows server的监控_第3张图片

zabbix对Windows server的监控_第4张图片

zabbix对Windows server的监控_第5张图片

zabbix对Windows server的监控_第6张图片

安装完成之后,zabbix agent会添加到服务中并开始运行

zabbix对Windows server的监控_第7张图片

也可以看到10050端口正处于监听状态

zabbix对Windows server的监控_第8张图片

在zabbix上添加Windows主机

主机名称写Windows名称就可以了
zabbix对Windows server的监控_第9张图片

创建完主机之后遇到一个问题,连接agent一直报104错误,查看了下agent日志,发现网络走的是内网网卡,可能是之前iptables规则有点多,而且iptables规则是从上往下匹配的,导致正确的规则没有匹配到

get value from agent failed: ZBX_TCP_READ() failed;[104] connection reset by peer

将正确的iptables规则放在链的最顶端可以解决

iptables -t nat -I POSTROUTING -d 172.168.0.0/24 -p tcp -m tcp --dport 10050 -j SNAT --to-source 10.127.0.133
iptables-save

查看日志可以看到agent的状态变为可用
zabbix对Windows server的监控

zabbix提供了一个Windows监控的模板,提供了很多系统上的监控,并且可以自动发现并监控服务状态

创建Windows监控项示例

获取IIS进程状态

agent提供了一个proc.num[]的键值用于对进程数量的监控
zabbix对Windows server的监控_第10张图片

当进程数量为0时可以配置触发器报警
zabbix对Windows server的监控_第11张图片

如果要对IIS进程进行详细的监控,可以使用Windows的性能监视器进行监控
zabbix对Windows server的监控_第12张图片

zabbix agent提供了perf_counter[counter,\]键值对性能间试器采集到的值进行监控,这里以获取windows可用内存为例,首先要添加一个计数器

zabbix对Windows server的监控_第13张图片

创建完成之后只需要在zabbix上添加计数器的路径就可以了
zabbix对Windows server的监控_第14张图片

zabbix对Windows server的监控_第15张图片

当然,这些计数器的路径也可以用数字来表示,路径与数字的映射值存在于注册表中,需要运行 regedit ,然后找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009这个注册表。
zabbix对Windows server的监控_第16张图片

比如上面的监控项也可以使用如下方法表示:
zabbix对Windows server的监控_第17张图片

如果我们要监控web进程的详细信息,可以在process路径下添加计数器,inetinfo为web运行的软件名称
zabbix对Windows server的监控_第18张图片

获取IIS的并发连接数

同样是使用性能监视器,添加一个IIS连接数的计数器来对其进行监控,存在于Web Service路径下,如果要对IIS的其他信息(比如处理的CGI请求数)进行获取,也是在Web Service路径下添加计数器
zabbix对Windows server的监控_第19张图片

zabbix对Windows server的监控_第20张图片


欢迎各×××陈师傅”
zabbix对Windows server的监控_第21张图片