• zabbix监控日志文件


    最近开发人员有一个需求,监控java程序的报错日志,如日志中包含“ERROR”关键字的信息,就邮件告警,以下是具体实现方法。

    一、创建模板

    以上是已经创建好的模板,名为“Template App Java logs”

    创建应用集

    二、创建监控项

    键值示例:log[/app/wutongshu/monitorlog/error.log,ERROR,,,skip,]

    说明:1、"/app/wutongshu/monitorlog/error.log"表示日志路径

    2、"ERROR"表示匹配的关键字

    3、"skip"为可选参数,表示跳过旧数据

    参数介绍:

    参数介绍:
    file - 日志文件的全路径。
    regexp - 过滤日志的正则表达式。
    encoding - 字符编码,默认为英文单字节SBCS(Single-Byte Character Set)。
    maxlines - agent每秒发送给server(或proxy)的数据的最大行数,这个参数会覆盖掉zabbix_agentd.conf配置文件里的'MaxLinesPerSecond'参数。
    mode - 可填参数:all(默认),skip(跳过旧数据)。
    output - 自定义格式化输出,默认输出regexp匹配的整行数据。转义字符''表示regexp

    三、创建触发器

    表达式:{Template App Java logs:log[/app/wutongshu/monitorlog/error.log,ERROR,,,skip,].str(ERROR)}=1  and  {Template App Java logs:log[/app/wutongshu/monitorlog/error.log,ERROR,,,skip,].nodata(60)}=0

    拆开解析:

    {Template App Java logs:log[/app/wutongshu/monitorlog/error.log,ERROR,,,skip,].str(ERROR)}=1表示如果匹配到“ERROR”关键字,表达式为真。

    {Template App Java logs:log[/app/wutongshu/monitorlog/error.log,ERROR,,,skip,].nodata(60)}=0表示60秒内有数据产生则表达式为真,即60秒内如果没有新数据了,则表达式为假。

    and表示同时满足两个条件,触发器才会触发。

    四、验证

    告警邮件如下:

  • 相关阅读:
    Filter ,Interceptor,AOP
    React路由官方网站
    React的UI库以及国内镜像
    HBuilder+个推 实现app推动消息
    基于create-react-app再次配置
    使用 ES7 的 async/await 时报错—Uncaught ReferenceError: regeneratorRuntime is not defined
    微信小程序学习网站
    我的github地址
    如何在github搭建自己的项目
    Vue简单封装axios—解决post请求后端接收不到参数问题
  • 原文地址:https://www.cnblogs.com/Eivll0m/p/6606452.html
Copyright © 2020-2023  润新知