返回列表 发帖

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
图片1.png
本页拖下去:
图片2.png



给主机c6的监控项“Check_key /Logs/data1.log”创建触发器:(被监控主机的文件/Logs/data1.log里有关键字Zhuohua就告警)

自定义名称: Key Zhuohua is exit in /Logs/data1.log
严重性: 警告
图片3.png

插入表达式:(监控项 c6: Check_key /Logs/data1.log
图片4.png

自动生成的表达式:(触发器的表达式要用到监控项中的键值)
{c6:vfs.file.regmatch[/Logs/data1.log,Zhuohua].last()}=1
图片5.png
本页拖下去:
图片6.png



######

在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
图片7.png

图片8.png

笺注:只要文件中还存在匹配的关键字,这个告警就会一直存在。



######

删除被监控主机的文件/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 ~]#


在仪表板上的告警马上消失了,如下图:
图片9.png

笺注:只要被监控主机的文件/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
图片10.png
注释:这是个新的告警,开始时间与前面那个不一样的。



禁用主机c6的触发器“Key Zhuohua is exit in /Logs/data1.log”的方法:

先找到指定的触发器:
图片11.png


在触发器中使用过滤器:
图片12.png

搜索出正在告警的触发器:(值为“问题”)
图片13.png


图片14.png

图片15.png
注释:当触发器已启用后,其状态为 已启用



禁用触发器“Key Zhuohua is exit in /Logs/data1.log”:
图片16.png

图片17.png
注释:当触发器被禁用后,其状态为 停用的



也可以在触发器中使用过滤器,搜索出已被禁用的触发器:(状态为“停用的”)
图片18.png

图片19.png



主机c6的触发器“Key Zhuohua is exit in /Logs/data1.log”被禁用后的效果:
图片20.png
本页拖下去:
图片21.png
注释:其实也可以在这里禁用触发器。

笺注:被禁用后的触发器,不会在仪表板上告警。





相关文章:
Zabbix监控Linux文件是否包含关键字

返回列表