zabbix 5.0 使用内置监控项实现日志监控告警

您所在的位置:网站首页 zabbix如何监控服务器被远程 zabbix 5.0 使用内置监控项实现日志监控告警

zabbix 5.0 使用内置监控项实现日志监控告警

2024-07-13 01:29| 来源: 网络整理| 查看: 265

zabbix 5.0 监控日志

除了灵活的使用自定义监控项的方式,这里使用zabbix自带的日志监控。本文使用的是zabbix-5.0版本

使用条件 项目要求zabbix_agent配置主动式参数时间同步zabbix_server和zabbix_agent监控项类型zabbix客户端(主动式)被监控日志文件zabbix用户需要可读权限

注意点:

其中,zabbix_agent.conf内关于zabbix客户端(主动式)的配置有以下2个

ServerActive=192.168.1.101 #填写zabbix_server的地址Hostname=Zabbix server #填写本机主机名,要求一套监控系统内唯一,且要和web端配置的主机名一项保持一致。建议填写zabbix_agent的ip地址

日志文件的权限问题,可以用这条测试

sudo -u zabbix cat /usr/local/nginx/logs/access.log 监控项说明 内置的监控项 log[file,,,,,,,] 日志文件监控。返回日志,是一条记录一行日志内容 log.count[file,,,,,,] 监控日志文件行数统计。返回整数 logrt[file_regexp,,,,,,,] 日志文件监控与轮转服务。返回日志 logrt.count[file_regexp,,,,,,] 日志文件监视中匹配行的计数与日志轮换支持。 返回整型 参数说明 file或file_regexp

日志文件所在的路径或者绝对路径名,后者可以使用正则匹配分割日志,比如/usr/local/nginx/logs/access.log*

regexp

匹配正则表达式,可以使用关键词,比如ERROR

encoding

在Linux/unix系统下默认编码为UTF-8,在Windows系统下默认编码为ANSI

maxlines

每次给zabbix-server或者zabbix-Proxy发送的日志的最大行数,此参数会高于zabbix-agent.conf中的MaxLinesPerSecond参数值,通过此参数,可以控制一次发送的日志的数据条数,如果发送次数过多,可能会对zabbix-agnet的负载和I/O有很大的影响

mode all

为默认参数,表示匹配所有的日志,包括以前存的日志也会进行匹配

skip

表示跳过已存在的日志数据,只有新的日志才会进行匹配,一般使用此项

output

表示匹配输出的正则表达式,\1~\9表示返回的匹配的第几个字符串,\0表示返回匹配的全部字符串,全部输出为默认值

maxdelay

以秒为单位的最大延迟,用于忽略老的日志数据,及时获取当前的日志数据。(4.0+)当处理日志过多,在更新周期内达到maxlines的发送上限,但还有日志未发送时,会导致大量堆积,在严重的情况下,会造成日志处理速度跟不上,使用此参数忽略过期的日志发送0是默认值,永远不会忽略日志文件行输入可以是浮点数(float)>0.0,忽略较旧的行,以获得在maxdelay秒内分析最新行,会丢弃在规定时间内的无法发送的数据

options

日志轮询、切割方式(4.0+)rotate,日志轮询、切割,默认值copytruncate,先拷贝文件,然后清空日志的轮询方式,copytruncate不能与maxdelay一起使用,如使用此参数,maxdelay必须为0或者未指定[size=12.0000pt]

使用实例 新建监控项

image

logrt[/tmp/error.log,"error",,,,skip,,] # 表示监控的日志文件为/tmp/error.log,正则匹配关键词error,模式选择跳过旧日志,不使用的其他参数需要留空 查看最新数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gtNVHRjy-1624503689926)(https://files.catbox.moe/glwzzi.png)] 通过echo模拟日志写入,之后根据【更新间隔】时间的不同,可以在【监控】–【最新数据】内看到模拟的报错信息

新建触发器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O3Rhyff5-1624503689927)(https://files.catbox.moe/a10i1i.png)]

{192.168.1.100:logrt[/tmp/error.log,"error",,,skip,,,].str(error)}=1 and {192.168.1.100:logrt[/tmp/error.log,"error",,,skip,,,].nodata(60s)}=0 # 实测这样的表达式可以实现,日志内出现error关键词即告警,在60秒内未收到新的error信息视为故障恢复 写在最后

zabbix作为开源的监控系统,社区和官方文档还是相对丰富的,很多问题都可以通过查官方文档来解决。附上zabbix常用链接

zabbix 5.0用户手册

zabbix 5.0触发器函数

zabbix 脚本分享



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3