Zabbix ---- 轮询日志监控

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

配置流程

  1. 登录至被监控服务器优先使用正则表达式找到服务的轮询日志;
~]# ll /app/test/tomcat*.log
  1. 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下也可以;

The End

posted @ 2021-03-04 14:27  k-free  阅读(454)  评论(0编辑  收藏  举报