返回列表 发帖

Zabbix使用Agent监控Windows文件是否存在

笺注:被监控主机的Agent的安装可参考 Zabbix使用Agent监控Windows2008R2


在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件C:\Program Files\Zabbix Agent\zabbix_agentd.conf是否存在:(文件存在时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.exists["C:\Program Files\Zabbix Agent\zabbix_agentd.conf"]
1
[root@centos8 ~]#

在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件C:\Program Files\Zabbix Agent\zabbix_agentd.conf是否存在:(文件不存在时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.exists["C:\Program Files\Zabbix Agent\zabbix_agentd.conf"]
0
[root@centos8 ~]#


在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件D:\a b\网站日志.log是否存在:(文件存在时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.exists["d:\a b\网站日志.log"]
1
[root@centos8 ~]#

在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件D:\a b\网站日志.log是否存在:(文件不存在时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.exists["d:\a b\网站日志.log"]
0
[root@centos8 ~]#


键值模板:
vfs.file.exists[file]       
检查文件是否存在。返回 0 - 未找到文件;1 - 常规文件或链接(软/硬)存在






##################Zabbix添加被监控主机:

配置》主机》创建主机  (主机名称无需与被监控主机的真实主机名一致;群组可以随便选;IP地址那里要输入被监控主机的IP地址;端口为10050)
图片1.png
2022-10-15 14:17

页面太长,紧接的是下半部分:
图片2.png
2022-10-15 14:18



主机Win2008添加成功:
图片3.png
2022-10-15 14:18

注释:主机可以使用模板,也可以不使用。



在主机Win2008中创建监控项:(监控被监控主机的文件D:\MySQL\my.ini是否存在)
自定义名称: Check_file_exists D:\MySQL\my.ini
键值: vfs.file.exists["D:\MySQL\my.ini"]
信息类型: 数字(无正负)
图片4.png
2022-10-15 14:18

本页拖下去:
图片5.png
2022-10-15 14:19



在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件D:\MySQL\my.ini是否存在:(文件存在时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.exists["D:\MySQL\my.ini"]
1
[root@centos8 ~]#


在Zabbix服务器上使用Shell脚本远程检测被监控主机的文件D:\MySQL\my.ini是否存在:(可选)
[root@centos8 ~]# cat check.sh
#!/bin/bash

Key=$(/usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.exists["D:\MySQL\my.ini"])

if [ $Key -eq 1 ]; then
echo 'yes'
else
echo 'no'
fi

设置脚本权限:
[root@centos8 ~]# chmod a+x check.sh
[root@centos8 ~]#

测试脚本check.sh:(文件存在时)
[root@centos8 ~]# bash check.sh
yes
[root@centos8 ~]#



给主机Win2008的监控项“Check_file_exists D:\MySQL\my.ini”创建触发器:(被监控主机的文件D:\MySQL\my.ini存在时就告警)
自定义名称: File D:\MySQL\my.ini is exit.
严重性: 一般严重
表达式: {Win2008:vfs.file.exists["D:\MySQL\my.ini"].last()}=1
图片6.png
2022-10-15 14:21

注释:触发器的表达式要用到监控项中的键值。

本页拖下去:
图片7.png
2022-10-15 14:21




当主机Win2008的文件D:\MySQL\my.ini存在时,在仪表板上看到的效果:(显示对应触发器的名称)
File D:\MySQL\my.ini is exit.
图片8.png
2022-10-15 14:21


图片9.png
2022-10-15 14:22




当主机Win2008的文件D:\MySQL\my.ini不存在时,在仪表板上的告警会马上消失,如下图:
图片10.png
2022-10-15 14:22



在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件D:\MySQL\my.ini是否存在:(文件不存在时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.exists["D:\MySQL\my.ini"]
0
[root@centos8 ~]#


测试脚本check.sh:(文件不存在时)
[root@centos8 ~]# bash check.sh
no
[root@centos8 ~]#





######
######

附加,其他一些监控项的键值模板:


agent.ping   Zabbix客户端可达性检查。 返回 1 - 可达

被监控主机的Zabbix Agent正常运行时的效果:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k agent.ping
1

被监控主机停止Zabbix Agent后的效果:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k agent.ping
zabbix_get [2875]: Timeout while executing operation


###

system.uname   显示被监控主机的系统信息。返回字符串

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k system.uname
Windows WIN-CFP2C4OHOR0 6.1.7601 Microsoft Windows Server 2008 R2 Enterprise  Service Pack 1 x64


###

agent.hostname   显示被监控主机的主机名。返回字符串

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k agent.hostname
WIN-CFP2C4OHOR0


###

system.users.num   显示被监控主机已登录的用户数量。返回浮点数

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k system.users.num
2.000000


###

vfs.file.md5sum[file]   对被监控主机指定的文件进行MD5校验。返回字符串(即该文件的MD5哈希值)

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.md5sum["C:\Program Files\Zabbix Agent\zabbix_agentd.conf"]
45a02bfae31a2b4905c4b80c4f779a69

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.md5sum["d:\a b\网站日志.log"]
d41d8cd98f00b204e9800998ecf8427e

[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.md5sum["D:\MySQL\my.ini"]
6a53bb536bf6c18e5f7ffdab3df02820

注释:每次文件的内容更改后,返回值都会变的;不更改就一直一样。





相关文章:
Zabbix使用Agent监控Linux文件是否存在

返回列表