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
测试网络连通性
进行远程连接测试
由于Windows server2012没有开启远程连接服务,需要在服务器管理器中添加角色和功能,步骤比较简单,这里不再赘述,直接连接zabbix server的3389端口就可以连接内网Windows server的远程桌面了
下载zabbix agent客户端
下载地址:
开始安装
安装完成之后,zabbix agent会添加到服务中并开始运行
也可以看到10050端口正处于监听状态
在zabbix上添加Windows主机
创建完主机之后遇到一个问题,连接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
zabbix提供了一个Windows监控的模板,提供了很多系统上的监控,并且可以自动发现并监控服务状态
创建Windows监控项示例
获取IIS进程状态
agent提供了一个proc.num[]的键值用于对进程数量的监控
如果要对IIS进程进行详细的监控,可以使用Windows的性能监视器进行监控
zabbix agent提供了perf_counter[counter,\
当然,这些计数器的路径也可以用数字来表示,路径与数字的映射值存在于注册表中,需要运行 regedit ,然后找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009这个注册表。
如果我们要监控web进程的详细信息,可以在process路径下添加计数器,inetinfo为web运行的软件名称
获取IIS的并发连接数
同样是使用性能监视器,添加一个IIS连接数的计数器来对其进行监控,存在于Web Service路径下,如果要对IIS的其他信息(比如处理的CGI请求数)进行获取,也是在Web Service路径下添加计数器