• linux下ELK搭建好之后配置sentinl插件,进行邮件告警


    ELK的环境搭建好之后,如何利用收集到的数据进行数据告警呢?在破解ELK之后,它本身提供一个监视器功能,配置偏向编写脚本。有一个更加方便的插件sentiel。

    一、下载并安装sentinl插件

    https://github.com/sirensolutions/sentinl/releases/ 上下载对应版本

    在对应目录下执行 kibana/bin/ kibana-plugin install file:///users/xxx/xxx/sentinl.6.4.2.zip(最好先下载在上传至服务器,避免网络中断的情况)

    执行完之后,可以在kibana界面左侧看到 steninl功能菜单

    二、配置邮件发送

    1. 在 kibana.yml中最下方配置

    sentinl:
    settings:
    email:
    active: true
    user: abc@qq.com 【注:这里配置的邮箱账号在配置发送邮件方的时候需要用,如果与它不一致会发不出去】
    password: xxxxx 【注:在qq邮箱处设置三方登录密码】
    host: smtp.exmail.qq.com
    ssl: true
    port: 465 【注:linux系统如果是阿里云的会禁用默认的25端口,这里需要设置465】
    timeout: 10000
    report:
    active: false

    2. 点击Sentinl – watchers – new – watcher wizard【界面友好可】 或者watcher advanced【直接编写程序,更灵活方便适用】

    这是我用watcher advanced 配置的一个简单的 每5分钟检查最近五分钟产生的异常信息的配置。

    {
      "actions": {
        "email_html_alarm_2bb619c8-0d33-4b42-bbaa-38dbf5ca040f": {
          "name": "5分钟内日志记录",
          "throttle_period": "1m",
          "email_html": {
            "stateless": false,
            "subject": "{{watcher.title}}-最近的Exception信息",
            "priority": "high",
            "html": "哈喽,请认领自己的bug,抓紧处理哦!!!<br>{{#payload.hits.hits}} 
    <li style='color:red'><b>source:</b> {{_source.source}} </li><br><li><b>message</b>: {{_source.message}}</li><br><br>{{/payload.hits.hits}}  
    ",
            "to": "xxx@qq.com",
            "from": "abc@qq.com"
          }
        }
      },
      "input": {
        "search": {
          "request": {
            "index": [
              "filebeat-6.4.2-*"
            ],
            "body": {
              "query": {
                "bool": {
                  "must": [
                    {
                      "range": {
                        "@timestamp": {
                          "gte": "now-5m/m",
                          "lte": "now/m",
                          "format": "epoch_millis"
                        }
                      }
                    }
                  ],
                  "filter": [
                    {
                      "multi_match": {
                        "type": "best_fields",
                        "query": "exception",
                        "lenient": true
                      }
                    }
                  ]
                }
              },
              "size": 5,
              "aggs": {
                "dateAgg": {
                  "date_histogram": {
                    "field": "@timestamp",
                    "time_zone": "Europe/Amsterdam",
                    "interval": "1m",
                    "min_doc_count": 1
                  }
                }
              }
            }
          }
        }
      },
      "condition": {
        "script": {
          "script": "payload.aggregations.dateAgg.buckets.some(b => b.doc_count >= 0)"
        }
      },
      "trigger": {
        "schedule": {
          "later": "every 5 minutes"
        }
      },
      "disable": false,
      "report": false,
      "title": "测试环境service2+uic日志错误提醒",
      "save_payload": false,
      "spy": false,
      "impersonate": false
    }
      }
    }

    3.配置好之后可以在 Watchers中看到

    第一个按钮可以进行测试,即时发送

    第二个按钮可以设置开启定时按照Interval中的时间进行定时搜索发送

    注如果要用上面的配置,需要修改对应的索引名称,搜索条件等。确保自己的索引有效且能正常搜索数据。

    以下是收到的邮件

  • 相关阅读:
    iOS
    关于HTTP协议学习(三)
    关于HTTP协议学习(二)
    关于HTTP协议学习(一)
    Swift之Swift编码规范
    老罗学习MVC之旅:MVC组件分析
    android 左右翻页
    android 检测网络是否可用
    android 在线升级借助开源中国App源码
    android 渐变展示启动屏
  • 原文地址:https://www.cnblogs.com/lvcisco/p/11441044.html
Copyright © 2020-2023  润新知