Zabbix日志监控Item介绍
- log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>]
参数介绍:
file: 要监控的日志文件名称,绝对路径;
<regexp>: 被监控日志中内容的正则表达式匹配;
<encoding>: 编码,默认就可(utf-8);
<maxlines>: 一次发送给proxy or server的最大行数;
<mode>: all(default,所有内容检查),skip(跳过老数据检查);
<output>: 输出模式模板,可返回regexp匹配到的内容;
<maxdelay>: 最大延迟秒数; - logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>]
参数介绍:
file_regexp: 要监控的日志文件名(可用正则表达式匹配文件名),绝对路径;
options: 轮换(默认),copytruncate,此参数不能与maxdelay一起使用;
需求说明
因要求保证服务可用性,防止程序假死,要监控服务日志文件在一定时间内是否继续写入,当没有写入时要报警提示运维人员;
环境介绍
- 系统:Centos6
- Zabbix版本:5.0
配置流程
- 登录至被监控服务器优先使用正则表达式找到服务的轮询日志;
~]# ll /app/test/tomcat*.log
- Zabbix网页端配置
-
创建监控项
名称:见名知意
类型:Zabbix客户端(主动式) 日志相关监控要用主动式
键值:logrt["/app/test/tomcat*.log",,,100,skip,,,copytruncate] 如果需求跟我相同,建议使用此格式写,亲测可用;
信息类型:日志
更新间隔:30s -
创建触发器
名称:见名知意
严重性:按实际需求来
表达式:{test01:logrt["/app/test/tomcat*.log",,,100,skip,,,copytruncate].nodata(60s)}=1 要选择表达式里的nodata哦(最短时长为30s,这里设置的60s没有数据则告警)
验证
搜索被监控服务器查看最新数据中的日志监控项,查看是否有新数据写入,如果没有,可以重启下被监控服务器的zabbix_agent或者reload下也可以;