Zabbix5.0.12_监控Linux文件是否包含关键字
笺注:这是在 Zabbix5.0.12_使用Agent监控CentOS6(自编译) 的基础上进行的。
被监控主机的文件/Logs/data1.log:
[root@zabbix_client ~]# mkdir -p /Logs
[root@zabbix_client ~]# echo 'Welcome to Zhuohua.' > /Logs/data1.log
[root@zabbix_client ~]#
[root@zabbix_client ~]# ll /Logs/data1.log
-rw-r--r--. 1 root root 20 9月 21 15:05 /Logs/data1.log
[root@zabbix_client ~]#
在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件/Logs/data1.log里有没有关键字Zhuohua:(关键字是区分英文字母大小写的)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.regmatch[/Logs/data1.log,Zhuohua]
1
[root@centos8 ~]#
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.regmatch[/Logs/data1.log,zhuohua]
0
[root@centos8 ~]#
###
被监控主机的文件/Logs/data2.log:
[root@zabbix_client ~]# echo 'Welcome to 李大杰。' > /Logs/data2.log
[root@zabbix_client ~]#
[root@zabbix_client ~]# ll /Logs/data2.log
-rw-r--r--. 1 root root 24 9月 21 15:13 /Logs/data2.log
[root@zabbix_client ~]#
在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件/Logs/data2.log里有没有关键字“李大杰”:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.regmatch[/Logs/data2.log,'李大杰']
1
[root@centos8 ~]#
在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件/Logs/data2.log里有没有关键字“李大”:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.regmatch[/Logs/data2.log,'李大']
1
[root@centos8 ~]#
在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件/Logs/data2.log里有没有关键字“李杰”:
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.regmatch[/Logs/data2.log,'李杰']
0
[root@centos8 ~]#
键值模板:
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]
查找文件中的指定字符串(关键字),如果有则返回1,没有则返回0。
笺注:
在Zabbix服务器上无法使用命令zabbix_get检测被监控主机的目录/root下的文件内容里有没有指定的关键字:
[root@zabbix_client ~]# pwd
/root
[root@zabbix_client ~]# cat zabbix.conf.php |grep zhuohua
zhuohua123
[root@zabbix_client ~]# ll zabbix.conf.php
-rw-r--r--. 1 root root 13659 9月 21 15:26 zabbix.conf.php
[root@zabbix_client ~]#
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.regmatch[/root/zabbix.conf.php,zhuohua]
ZBX_NOTSUPPORTED: Cannot open file: [13] Permission denied
[root@centos8 ~]#
[root@zabbix_client ~]# chmod 777 zabbix.conf.php
[root@zabbix_client ~]# ll zabbix.conf.php
-rwxrwxrwx. 1 root root 13659 9月 21 15:26 zabbix.conf.php
[root@zabbix_client ~]#
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.regmatch[/root/zabbix.conf.php,zhuohua]
ZBX_NOTSUPPORTED: Cannot open file: [13] Permission denied
[root@centos8 ~]#
换个目录就可以了:
[root@zabbix_client ~]# ll /usr/local/zabbix.conf.php
-rw-r--r--. 1 root root 13659 9月 21 15:29 /usr/local/zabbix.conf.php
[root@zabbix_client ~]#
[root@zabbix_client ~]# cat /usr/local/zabbix.conf.php |grep zhuohua
zhuohua123
[root@zabbix_client ~]#
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.regmatch[/usr/local/zabbix.conf.php,zhuohua]
1
[root@centos8 ~]#
######
在主机c6中创建监控项:( 监控被监控主机的文件/Logs/data1.log里有没有关键字Zhuohua )
自定义名称: Check_key /Logs/data1.log
键值: vfs.file.regmatch[/Logs/data1.log,Zhuohua]
信息类型: 字符
更新间隔: 1m
本页拖下去:
给主机c6的监控项“Check_key /Logs/data1.log”创建触发器:(被监控主机的文件/Logs/data1.log里有关键字Zhuohua就告警)
自定义名称: Key Zhuohua is exit in /Logs/data1.log
严重性: 警告
插入表达式:(监控项 c6: Check_key /Logs/data1.log )
自动生成的表达式:(触发器的表达式要用到监控项中的键值)
{c6:vfs.file.regmatch[/Logs/data1.log,Zhuohua].last()}=1
本页拖下去:
######
在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件/Logs/data1.log里有没有关键字Zhuohua:(有关键字时的效果)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.regmatch[/Logs/data1.log,Zhuohua]
1
[root@centos8 ~]#
在仪表板上可以看到如下的告警:(显示对应触发器的名称)
Key Zhuohua is exit in /Logs/data1.log
笺注:只要文件中还存在匹配的关键字,这个告警就会一直存在。
######
删除被监控主机的文件/Logs/data1.log里的关键字“Zhuohua”:
[root@zabbix_client ~]# echo 'Welcome to Zhuo.' > /Logs/data1.log
[root@zabbix_client ~]#
[root@zabbix_client ~]# cat /Logs/data1.log
Welcome to Zhuo.
[root@zabbix_client ~]#
再次,在Zabbix服务器上使用命令zabbix_get检测被监控主机的文件/Logs/data1.log里有没有关键字Zhuohua:(没有关键字时的效果)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.regmatch[/Logs/data1.log,Zhuohua]
0
[root@centos8 ~]#
在仪表板上的告警马上消失了,如下图:
笺注:只要被监控主机的文件/Logs/data1.log中还存在匹配的关键字,主机c6的触发器“Key Zhuohua is exit in /Logs/data1.log”就会一直告警;如果无法把关键字删除,可以把此触发器禁用。
############
############
再次,在被监控主机的文件/Logs/data1.log里加上的关键字“Zhuohua”:
[root@zabbix_client ~]# echo 'Welcome to abcZhuohua123.' > /Logs/data1.log
[root@zabbix_client ~]#
[root@zabbix_client ~]# cat /Logs/data1.log
Welcome to abcZhuohua123.
[root@zabbix_client ~]#
在仪表板上又可以看到如下的告警:(显示对应触发器的名称)
Key Zhuohua is exit in /Logs/data1.log
注释:这是个新的告警,开始时间与前面那个不一样的。
禁用主机c6的触发器“Key Zhuohua is exit in /Logs/data1.log”的方法:
先找到指定的触发器:
在触发器中使用过滤器:
搜索出正在告警的触发器:(值为“问题”)
注释:当触发器已启用后,其状态为 已启用
禁用触发器“Key Zhuohua is exit in /Logs/data1.log”:
注释:当触发器被禁用后,其状态为 停用的
也可以在触发器中使用过滤器,搜索出已被禁用的触发器:(状态为“停用的”)
主机c6的触发器“Key Zhuohua is exit in /Logs/data1.log”被禁用后的效果:
本页拖下去:
注释:其实也可以在这里禁用触发器。
笺注:被禁用后的触发器,不会在仪表板上告警。
相关文章:
Zabbix监控Linux文件是否包含关键字 |