sdfouhdso888 发表于 2017-12-31 10:37:39

zabbix监控日志文件

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

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

  创建应用集

  二、创建监控项


  键值示例:log
  说明: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匹配的整行数据。转义字符'\0'表示regexp
  三、创建触发器

  表达式:{Template App Java logs:log.str(ERROR)}=1and{Template App Java logs:log.nodata(60)}=0
  拆开解析:
  {Template App Java logs:log.str(ERROR)}=1表示如果匹配到“ERROR”关键字,表达式为真。
  {Template App Java logs:log.nodata(60)}=0表示60秒内有数据产生则表达式为真,即60秒内如果没有新数据了,则表达式为假。
  and表示同时满足两个条件,触发器才会触发。
  四、验证
  告警邮件如下:
页: [1]
查看完整版本: zabbix监控日志文件