• zabbix3.0.4通过自定义shell脚本添加对关键日志文件的监控


    zabbix添加对自定义无规则日志文件的监控


    项目背景及思路:
    zabbix自带有针对日志文件的监控,自带的监控只能监控到指定文件或者正则匹配的固定日志文件,但当需要监控的文件名没有规律的时候自带监控就不适用了

    此次需要监控关键的esb企业总线系统日志,当tail -f esb日志出现大量failture的时候就是业务可能出现故障的时候,需要触发警报


    具体步骤:

    1.修改zabbix-agent客户端配置:
    a.visudo修改配置

    添加zabbix用户的sudo权限
    # 添加如下这行
    zabbix ALL=(ALL) NOPASSWD: ALL

    b.注释掉如下这行
    #Defaults    requiretty

    ③修改客户端配置
    /etc/zabbix/zabbix_agentd.conf
    UserParameter=esb_status,sudo /bin/bash /usr/local/zabbix-agent/scripts/esb_status.sh

    2.在被监控的zabbix-agent端添加需要监控的脚本
    vim /usr/local/zabbix-agent/scripts/esb_status.sh

    #!/bin/bash
    # 日志文件目录
    path=/home/yunva/log/esbE001
    # 找到最新的日志文件名 ls -t 按照时间排序,最新的在上面
    esb_file=`ls -t "${path}" | head -1`
    
    fail_count=`tail -n 200 $path/${esb_file} |grep 'failure'|wc -l`
    echo $fail_count
    

    添加脚本的执行权限
    chmod +x  /usr/local/zabbix-agent/scripts/esb_status.sh

    3.zabbix-server端的配置
    ①添加items


    ②添加graphs趋势图


    ③添加触发器,当失败次数过半的时候触发报警

    Name :

    esb failure gt 100

    Expression:
    {1.1.1.1:esb_status.last(0)}>100


    报警





  • 相关阅读:
    docker pull 报X509错误
    Kong配置反向代理后获取原始IP
    MybatisPlus框架
    工厂模式
    Mybatis持久层框架
    linux 使用scp传输公钥时要注意事项
    docker 容器容器之间网络通信 docker-compose.yaml 配置固定ip
    Linux下执行sh文件提示权限不够解决办法
    docker-compose 编写yaml文件的注意事项
    nginx 中location url一定要带http://
  • 原文地址:https://www.cnblogs.com/reblue520/p/6784498.html
Copyright © 2020-2023  润新知