美文网首页
zabbix4.0 应用日志关键字报警

zabbix4.0 应用日志关键字报警

作者: Daisy小朋友 | 来源:发表于2021-03-22 16:04 被阅读0次

    需求1

    log 里面“[2021:03:22 14:4666:49]:发生错误数:0! ” ,截取关键字,如果不是0就报警

    实现1

    1 实现日志关键字报警

    创建模板


    image.png

    创建应用集


    image.png
    创建监控项
    image.png
    log[/etc/zabbix/zabbix_agentd.log,"root",,,skip,,]
    

    选择如图

    image.png
    各个指标含义请参考
    https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes/zabbix_agent#supported_item_keys
    创建触发器
    image.png
    {test yejilog errors num check:log[/etc/zabbix/zabbix_agentd.log,"root",,,skip,,].iregexp()}=1
    

    将模板添加到机器中就可以报警
    最新数据


    image.png

    2 做判断,大于0报警

    修改监控项键值


    image.png
    log[/data/tools-yeji/logs/yeji.log,"发生错误数:([1-9]+)",,,skip,,]
    

    "发生错误数:([1-9]+)" // 正则
    skip表示忽略日志中之前的报警

    将模板添加到机器中就可以报警

    3 注意事项

    1>agent为主动模式
    2>监控的log日志的权限以及上层目录是否为755权限
    chown zabbix.root /data/tools-yeji/logs/yeji.log

    需求2

    配置tomcat日志监控,有关键字“ERROR”会报警

    实现2

    1 配置主动模式
    2 查看log文件zabbix是否有权限

    使用添加zabbix权限
    setfacl -m u:zabbix:r /usr/local/tomcat1/logs/catalina-daemon.out
    查看zabbix是否有权限
    sudo -u zabbix cat /usr/local/tomcat1/logs/catalina-daemon.out|more
    getfacl /usr/local/tomcat1/logs/catalina-daemon.out
    

    3 更新hostname,修改zabbix配置文件|zabbix web配置中hostname和主机hostname一致,如果不一致会出现下面无法识别主机名的情况,记得重启zabbix-agent

    服务器:*UNKNOWN*发生: *UNKNOWN* tomcat1_log发生错误故障!
    {
    告警主机:*UNKNOWN*
    告警地址:*UNKNOWN*
    监控项目:*UNKNOWN*
    监控取值:*UNKNOWN*
    告警等级:Average
    当前状态:PROBLEM
    告警信息:*UNKNOWN* tomcat1_log发生错误
    告警时间:2021.09.07 15:01:32
    事件ID:131257
    }
    

    4 创建相应模板,最好一个日志创建一个模板


    image.png

    5 监控项配置


    image.png
    log[/usr/local/tomcat1/logs/err.log,"Exception",,,skip,,]
    

    监控项选择log即可,刚开始选择logrt发现命名监控的是/usr/local/tomcat1/logs/error.log但是真正去监控的居然是/usr/local/tomcat1/logs/error.log-20210908这种轮转文件,后来更换log没有问题
    6 触发器配置


    image.png
    {tomcat1 log error:log[/usr/local/tomcat1/logs/catalina-daemon.out,"Exception",,,skip,,].nodata(2m)}=0
    

    nodata代表如果有Exception关键字就保健,如果2min之内没有这个关键字就恢复,只有一条就可以实现报警和恢复两个功能,当然你也可以更改2min这个时间
    7 添加报警


    image.png

    8 问题:
    配置setfacl可能会出现

    setfacl -m u:zabbix:r manager.2020-11-11.log

    setfacl: manager.2020-11-11.log: Operation not supported
    是因为日志所在目录挂载点没有acl挂载

    vim /etc/fstab
    /dev/VolGroup/lv_svn /svn  ext4  defaults,acl  0 0
    

    需要重新挂载目录
    需要关注:
    1 不是所有的关键字都会报出来,如果一个时间段有多个报错只会报一个,目前是2min,2min不会再报,下一个2min再报,虽然触发器不会被触发但是日志中会被记录,最新记录->历史记录
    2 如果获取不到数据重启zabbix-agent
    3 日志轮转的话不会有影响,不会因为日志轮转日志权限发生变化
    4 目前报警发送只能实现发送关键字当条日志,想实现发送关键字上下文多少条,就合grep -C10这种,但是没找到方法???
    5 当条error报错日志大的话发送的报警可能不完整??

    参考:
    https://cloud.tencent.com/developer/article/1860374
    https://www.jianshu.com/p/e28c0f295404

    相关文章

      网友评论

          本文标题:zabbix4.0 应用日志关键字报警

          本文链接:https://www.haomeiwen.com/subject/cynzcltx.html