返回列表 发帖

Zabbix5.0.12_监控Linux文件是否更改过

笺注:这是在 Zabbix5.0.12_使用Agent监控CentOS6(自编译) 的基础上进行的。


主机c6使用的模板Template OS Linux by Zabbix agent ,默认就监控被监控主机的文件/etc/passwd的内容有没有更改过。



模板Template OS Linux by Zabbix agent自带的监控项:
名称: Checksum of /etc/passwd
键值: vfs.file.cksum[/etc/passwd]
信息类型: 字符
更新间隔: 15m
图片1.png

键值模板:
vfs.file.cksum[file]  文件校验,unix标准算法。返回整数

本页拖下去:
图片2.png
注释:默认就是已启用。



模板Template OS Linux by Zabbix agent自带的触发器:
名称: /etc/passwd has been changed
严重性: 信息
表达式: {c6:vfs.file.cksum[/etc/passwd].diff()}>0
图片3.png
注释:触发器的表达式要用到监控项中的键值。

本页拖下去:
图片4.png
注释:
默认就是已启用。
默认就是允许手动关闭;
这里的“允许手动关闭”,是指允许在仪表板关闭这个问题(触发器);



######

在Zabbix服务器上使用命令zabbix_get对被监控主机的文件/etc/passwd进行文件校验:(每次文件的内容更改后,返回值都会变的;不更改就一直一样)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.cksum[/etc/passwd]
1200335030
[root@centos8 ~]#


被监控主机添加系统用户就会更改本地文件/etc/passwd的内容:
[root@zabbix_client ~]# adduser zhuohua
[root@zabbix_client ~]# tail -1 /etc/passwd
zhuohua:x:501:501::/home/zhuohua:/bin/bash
[root@zabbix_client ~]#


在Zabbix服务器上使用命令zabbix_get对被监控主机的文件/etc/passwd进行文件校验:(文件内容更改后,看到返回值变了)
[root@centos8 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.168.130 -k vfs.file.cksum[/etc/passwd]
2749079376
[root@centos8 ~]#



在仪表板上可以看到如下的告警:(显示对应触发器的名称)
/etc/passwd has been changed
图片5.png

图片6.png
备注:这个问题的告警信息在仪表板上的持续时间会超过15分钟。



按主机c6的触发器“/etc/passwd has been changed”的配置,可以在仪表板上手动关闭这个问题:(点击确认下面的“不”)
图片7.png

关闭这个问题:
图片8.png


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













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

监控被监控主机的文件/Logs/data1.log的内容有没有更改过:
[root@zabbix_client ~]# mkdir -p /Logs
[root@zabbix_client ~]# echo '123' > /Logs/data1.log
[root@zabbix_client ~]#
[root@zabbix_client ~]# ll /Logs/data1.log
-rw-r--r--. 1 root root 4 9月  21 16:09 /Logs/data1.log
[root@zabbix_client ~]#



[root@centos8 ~]# zabbix_get
-bash: zabbix_get: 未找到命令

[root@centos8 ~]# find / -name zabbix_get
/root/zabbix-5.0.12/src/zabbix_get
/root/zabbix-5.0.12/src/zabbix_get/zabbix_get
/usr/local/zabbix/bin/zabbix_get
[root@centos8 ~]#

做个软链接:
[root@centos8 ~]# ln -s /usr/local/zabbix/bin/zabbix_get /usr/sbin
[root@centos8 ~]#

[root@centos8 ~]# ll /usr/sbin/zabbix_get
lrwxrwxrwx 1 root root 32 9月  22 10:04 /usr/sbin/zabbix_get -> /usr/local/zabbix/bin/zabbix_get
[root@centos8 ~]#



在Zabbix服务器上使用命令zabbix_get对被监控主机的文件/Logs/data1.log进行文件校验:(每次文件的内容更改后,返回值都会变的;不更改就一直一样)
[root@centos8 ~]# zabbix_get -s 192.168.168.130 -k vfs.file.cksum[/Logs/data1.log]
2330645186
[root@centos8 ~]#
[root@centos8 ~]# zabbix_get -s 192.168.168.130 -k vfs.file.cksum[/Logs/data1.log]
2330645186
[root@centos8 ~]#

[root@zabbix_client ~]# echo '456' > /Logs/data1.log

[root@centos8 ~]# zabbix_get -s 192.168.168.130 -k vfs.file.cksum[/Logs/data1.log]
4180399676
[root@centos8 ~]#



笺注:
在Zabbix服务器上无法使用命令zabbix_get检测被监控主机的目录/root下的文件有没有更改过:
[root@zabbix_client ~]# ll *.log
-rw-r--r--. 1 root root 13647 7月   5 2018 install.log
[root@zabbix_client ~]#

[root@centos8 ~]# zabbix_get -s 192.168.168.130 -k vfs.file.cksum[/root/install.log]
ZBX_NOTSUPPORTED: Cannot open file: [13] Permission denied
[root@centos8 ~]#


[root@zabbix_client ~]# chmod 777 install.log
[root@zabbix_client ~]#
[root@zabbix_client ~]# ll *.log
-rwxrwxrwx. 1 root root 13647 7月   5 2018 install.log
[root@zabbix_client ~]#

[root@centos8 ~]# zabbix_get -s 192.168.168.130 -k vfs.file.cksum[/root/install.log]
ZBX_NOTSUPPORTED: Cannot open file: [13] Permission denied
[root@centos8 ~]#





在主机c6中创建监控项:(监控被监控主机的文件/Logs/data1.log的内容有没有更改过)
自定义名称: Checksum of /Logs/data1.log
键值: vfs.file.cksum[/Logs/data1.log]
信息类型:  字符
更新间隔: 3m  (在仪表板告警的持续时间;这是3分钟)
图片10.png
本页拖下去:
图片11.png



给主机c6的监控项“Checksum of /Logs/data1.log”创建触发器:
自定义名称: /Logs/data1.log has been changed
严重性: 一般严重
表达式: {c6:vfs.file.cksum[/Logs/data1.log].diff()}>0
图片12.png
注释:触发器的表达式要用到监控项中的键值。

本页拖下去:
图片13.png



######

在Zabbix服务器上使用命令zabbix_get对被监控主机的文件/Logs/data1.log进行文件校验:(文件内容更改前)
[root@centos8 ~]# zabbix_get -s 192.168.168.130 -k vfs.file.cksum[/Logs/data1.log]
4180399676
[root@centos8 ~]#


[root@zabbix_client ~]# echo 'zhuohua_new' > /Logs/data1.log
[root@zabbix_client ~]#


在Zabbix服务器上使用命令zabbix_get对被监控主机的文件/Logs/data1.log进行文件校验:(文件内容更改后)
[root@centos8 ~]# zabbix_get -s 192.168.168.130 -k vfs.file.cksum[/Logs/data1.log]
630230514
[root@centos8 ~]#



在仪表板上可以看到如下的告警:(显示对应触发器的名称)
/Logs/data1.log has been changed
图片14.png

图片15.png

备注:
按主机c6的监控项“Checksum of /Logs/data1.log”的配置,这个问题的告警信息会在仪表板上持续3分钟后,自动消失。



按主机c6的触发器“/Logs/data1.log has been changed”的配置,可以在仪表板上手动关闭这个问题:(点击确认下面的“不”)
图片16.png

关闭这个问题:
图片17.png


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





相关文章:
Zabbix监控Linux文件是否更改过

返回列表