返回列表 发帖

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

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


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

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

页面太长,紧接的是下半部分:
图片2.png
2020-12-14 19:13



主机添加成功:
图片3.png
2020-12-14 19:13

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



以下检测主机Win2008的文件D:\MySQL\my.ini是否存在:

创建监控项:
名称: Check_file D:\MySQL\my.ini
键值:  vfs.file.exists[D:/MySQL/my.ini]
图片4.png
2020-12-14 19:14


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

备注:其他地方保持默认,点击页底“添加”按钮。



Zabbix服务器使用命令行进行远程监测:(文件存在时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.exists[D:/MySQL/my.ini]
1

[root@centos8 ~]#  /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.exists[D:/a.txt]
1


Zabbix服务器使用Shell脚本进行远程监测:(可选)
[root@centos8 ~]# cat check.sh
#!/bin/bash

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

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


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

测试脚本:
[root@centos8 ~]# bash check.sh
yes



创建触发器:
名称:  File D:\MySQL\my.ini is exit.
图片5.png
2020-12-14 19:15


插入表达式:(当文件存在时,才告警)
图片6.png
2020-12-14 19:15


自动生成的表达式:(触发器的表达式要用到监控项中的键值)
{Win2008:vfs.file.exists[D:/MySQL/my.ini].last()}=1
图片7.png
2020-12-14 19:16


本页拖下去:
图片8.png
2020-12-14 19:16




测试:
当被监控主机的文件D:\MySQL\my.ini存在时:
图片9.png
2020-12-14 19:16



在仪表板可以看到如下效果:(显示触发器的名称)
图片10.png
2020-12-14 19:17


图片11.png
2020-12-14 19:17









当被监控主机的文件D:\MySQL\my.ini不存在时,
在仪表板的告警自动消失:
图片12.png
2020-12-14 19:17




Zabbix服务器使用命令行进行远程监测:(文件不存在时)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.148 -k vfs.file.exists[D:/MySQL/my.ini]
0


Zabbix服务器使用Shell脚本进行远程监测:
[root@centos8 ~]# bash check.sh
no







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

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

被监控主机正常运行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 [2668]: 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[D:/MySQL/my.ini]
5409118fcec5662e296195b0119627a7

注释:文件的内容一旦改变,其MD5哈希值就不一样了。





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

返回列表