Zabbix使用Agent监控Windows的TCP端口和服务状态
笺注:
被监控主机的Agent的安装可参考 Zabbix使用Agent监控Windows2008R2
被监控主机的IIS的安装可参考 Windows2008R2_IIS基础+SSL
被监控主机的MySQL的安装可参考 Windows2008R2_安装MySQL5.5
被监控主机的DHCP的安装可参考 Windows2008r2_DHCP
被监控主机的DNS的安装可参考 Windows2008r2_DNS
监控TCP端口:
在Zabbix服务器上使用命令zabbix_get进行远程检测:(端口对应的服务运行时的效果)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k net.tcp.listen[80]
1
[root@centos8 ~]#
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k net.tcp.listen[3306]
1
[root@centos8 ~]#
在Zabbix服务器上使用命令zabbix_get进行远程检测:(端口对应的服务没有运行时的效果)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k net.tcp.listen[80]
0
[root@centos8 ~]#
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k net.tcp.listen[3306]
0
[root@centos8 ~]#
键值模板:
net.tcp.listen[port]
检测 TCP 端口 是否处于侦听状态。返回 0 - 未侦听;1 - 正在侦听
备注:这相当于在被监控主机上进行本地监控,所以被监控主机无需打开防火墙对应的TCP 端口。
##################Zabbix添加被监控主机:
配置》主机》创建主机 (主机名称无需与被监控主机的真实主机名一致;群组可以随便选;IP地址那里要输入被监控主机的IP地址;端口为10050)
页面太长,紧接的是下半部分:
主机Win2008添加成功:
给主机Win2008添加模板:( Template OS Windows by Zabbix agent )
模板添加成功:
注释:假如只是监控TCP端口是否处于侦听状态,主机可以使用模板,也可以不使用。
######
在主机Win2008中创建监控项:( 监控被监控主机的TCP 80端口的侦听状态 )
自定义名称: Check TCP Port 80
键值: net.tcp.listen[80]
信息类型: 数字(无正负)
备注:
其他地方保持默认,点击页底“添加”按钮;
给主机Win2008的监控项“Check TCP Port 80”创建触发器:(被监控主机的TCP 80端口处于未侦听状态就告警)
自定义名称: TCP Port 80 is down.
严重性: 一般严重
插入表达式:( 监控项 Win2008: Check TCP Port 80 )
自动生成的表达式:(触发器的表达式要用到监控项中的键值)
{Win2008:net.tcp.listen[80].last()}=0
本页拖下去:
测试:
被监控主机停止自己的IIS服务:
当主机Win2008的TCP 80端口处于未侦听状态时,在仪表板上看到的效果:(显示对应触发器的名称)
TCP Port 80 is down.
笺注:当被监控主机的IIS服务停止了,对应的TCP 80端口就处于未侦听状态。
被监控主机启动自己的IIS服务:
当主机Win2008的TCP 80端口处于侦听状态时,在仪表板上的告警会马上消失,如下图:
笺注:当被监控主机的IIS服务正在运行时,对应的TCP 80端口就处于侦听状态。
还可以给主机Win2008的监控项“Check TCP Port 80”创建图形:
监控项:
注释:可以自定义图形的绘图风格、颜色等等。
查看主机Win2008的图形“Check TCP Port 80 image”:
监测》图形:
注释:图形中的数据线是从右往左延伸的。
注释:1为up;0为down
######
######
自动发现Windows服务:(点击进入“自动发现规则”)
再点击进入以下的自动发现规则:
Template Module Windows services by Zabbix agent: Windows services discovery
可以看到这条自动发现规则是源于模板Template OS Windows by Zabbix agent:
本页拖下去:(点击“现在检查”)
可以自动发现IIS服务:
自动生成的关于IIS服务状态的监控项:
名称: State of service "W3SVC" (World Wide Web Publishing Service)
键值: service.info["W3SVC",state]
本页拖下去:
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(IIS服务运行时的效果,返回值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["W3SVC",state]
0
[root@centos8 ~]#
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(IIS服务没有运行时的效果,返回不值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["W3SVC",state]
6
[root@centos8 ~]#
自动生成的关于IIS服务状态的触发器:(触发器的表达式要用到监控项中的键值)
名称: "W3SVC" (World Wide Web Publishing Service) is not running (startup type automatic)
表达式: {Win2008:service.info["W3SVC",state].min(#3)}<>0
本页拖下去:
######
可以自动发现DNS Server服务:
自动生成的关于DNS Server服务状态的监控项:
名称: State of service "DNS" (DNS Server)
键值: service.info["DNS",state]
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(DNS Server服务运行时的效果,返回值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["DNS",state]
0
[root@centos8 ~]#
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(DNS Server服务没有运行时的效果,返回不值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["DNS",state]
6
[root@centos8 ~]#
自动生成的关于DNS Server服务状态的触发器:(触发器的表达式要用到监控项中的键值)
名称: "DNS" (DNS Server) is not running (startup type automatic)
表达式: {Win2008:service.info["DNS",state].min(#3)}<>0
######
可以自动发现DNS Client服务:
自动生成的关于DNS Client服务状态的监控项:
名称: State of service "Dnscache" (DNS Client)
键值: service.info["Dnscache",state]
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(DNS Client服务运行时的效果,返回值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["Dnscache",state]
0
[root@centos8 ~]#
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(DNS Client服务没有运行时的效果,返回不值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["Dnscache",state]
6
[root@centos8 ~]#
自动生成的关于DNS Client服务状态的触发器:(触发器的表达式要用到监控项中的键值)
名称: "Dnscache" (DNS Client) is not running (startup type automatic)
表达式: {Win2008:service.info["Dnscache",state].min(#3)}<>0
######
可以自动发现DHCP 服务器:
自动生成的关于DHCP 服务器状态的监控项:
名称: State of service "DHCPServer" (DHCP 服务器)
键值: service.info["DHCPServer",state]
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(DHCP 服务器运行时的效果,返回值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["DHCPServer",state]
0
[root@centos8 ~]#
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(DHCP 服务器没有运行时的效果,返回不值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["DHCPServer",state]
6
[root@centos8 ~]#
自动生成的关于DHCP 服务器状态的触发器:(触发器的表达式要用到监控项中的键值)
名称: "DHCPServer" (DHCP 服务器) is not running (startup type automatic)
表达式: {Win2008:service.info["DHCPServer",state].min(#3)}<>0
######
可以自动发现DHCP Client服务:
自动生成的关于DHCP Client服务状态的监控项:
名称: State of service "Dhcp" (DHCP Client)
键值: service.info["Dhcp",state]
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(DHCP Client服务运行时的效果,返回值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["Dhcp",state]
0
[root@centos8 ~]#
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(DHCP Client服务没有运行时的效果,返回不值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["Dhcp",state]
6
[root@centos8 ~]#
自动生成的关于DHCP Client服务状态的触发器:(触发器的表达式要用到监控项中的键值)
名称: "Dhcp" (DHCP Client) is not running (startup type automatic)
表达式: {Win2008:service.info["Dhcp",state].min(#3)}<>0
######
可以自动发现MySQL服务:
自动生成的关于MySQL服务状态的监控项:
名称: State of service "MySQL" (MySQL)
键值: service.info["MySQL",state]
本页拖下去:
自动生成的关于MySQL服务状态的触发器:(触发器的表达式要用到监控项中的键值)
名称: "MySQL" (MySQL) is not running (startup type automatic)
表达式: {Win2008:service.info["MySQL",state].min(#3)}<>0
本页拖下去:
测试:
被监控主机停止自己的MySQL服务:
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(MySQL服务没有运行时的效果,返回值不为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["MySQL",state]
6
[root@centos8 ~]#
当主机Win2008的MySQL服务停止时,在仪表板上看到的效果:(显示对应触发器的名称)
"MySQL" (MySQL) is not running (startup type automatic)
被监控主机启动自己的MySQL服务:
在Zabbix服务器上使用命令zabbix_get对被监控主机的服务状态进行远程检测:(MySQL服务运行时的效果,返回值为0)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k service.info["MySQL",state]
0
[root@centos8 ~]#
当主机Win2008的MySQL服务正在运行时,在仪表板上的告警会马上消失,如下图:
相关文章:
Zabbix使用Agent监控Windows2012R2
Zabbix使用Agent监控Windows进程+问题
Zabbix使用Agent监控Linux的TCP+UDP端口 |