• logstash根据日志关键词报警


    logstash是可以根据日志级别,日志类型进行报警通知的。

    这次精简教程,排除filebeat自带的#include_lines: ['^ERR', '^WARN']写法,直接使用logstash报警。

    步骤一、安装logstash

    方法1  去官网下载rpm包,官网地址:https://www.elastic.co/cn/downloads/logstash

    方法2  yum install logstash -y

    方法3  使用国内一些软件源下载rpm包,速度更快一点。有可能安装包报错。比如:https://www.newbe.pro/Mirrors/Mirrors-Logstash/

    步骤二、安装exec插件,用于报警

    执行如下命令安装插件

    /usr/share/logstash/bin/logstash-plugin install logstash-output-exec
    

     

    步骤三、编写配置文件

    cd /etc/logstash/conf.d

    vim logstash.conf

    input {
        file {
            path => "/home/wwwroot/hxt_reconciliation/storage/logs/laravel-2020-07-01.log"
        }
    }
    
    output {
        if 'ERROR' in [message] or 'local.WARNING' in [message] {
            exec {
                command => "/bin/bash /etc/logstash/conf.d/dingding.sh %{message}"
            }  
        }
    }
    

    input选择文件,output发送钉钉通知。

    注意:

    LogStash::Inputs::File只是在进程运行的注册阶段初始化一个FileWatch对象。所以它不能支持类似 fluentd 那样的path => "/path/to/%{+yyyy/MM/dd/hh}.log"写法。达到相同目的,你只能写成path => "/path/to/*/*/*/*.log"。FileWatch 模块提供了一个稍微简单一点的写法:/path/to/**/*.log,用**来缩写表示递归全部子目录。
    所以这里写了绝对路径,也没用*替代所有。在自己写一个shell脚本,添加到crontab里 每天0点执行。
    0 0 * * * /bin/bash /root/tools/replace_logstash.sh
    #!/bin/bash
    today=`date +%Y-%m-%d`
    lastday=`date -d 'yesterday' +%Y-%m-%d`
    sed -i "s/${lastday}/${today}/g" /etc/logstash/conf.d/logstash.conf
    systemctl restart logstash.service

    钉钉通知脚本自己随便一个吧,贴一个我随便写的

    #!/bin/bash
    message="我的ip地址_logstash: 
     $*"
    curl "https://oapi.dingtalk.com/robot/send?access_token=钉钉的webhook地址" 
       -H "Content-Type: application/json" 
       -d '{"msgtype": "text", 
            "text": {
                 "content": "'"${message}"'"
            }
          }'
    

      

    步骤四、启动

    service logstash start
    #或者,以下命令更多用于调试output输出到控制台时候使用
    /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/logstash.conf
    

      

    看一下效果

  • 相关阅读:
    P1091,P1017
    二维ST表模板
    【ybtoj】【堆的应用】内存管理
    【ybtoj】【RMQ问题】降雨量
    【ybtoj】【RMQ问题】与众不同
    【ybtoj】【倍增问题】运输计划
    【ybtoj】【倍增问题】删边问题
    【ybtoj】【倍增问题】图上查询
    【ybtoj】【倍增问题】货车运输
    【ybtoj】【强连通分量】软件安装
  • 原文地址:https://www.cnblogs.com/guoyabin/p/13215518.html
Copyright © 2020-2023  润新知