kibana+sentinl 6.2.4实现钉钉邮件告警

一.ELK安装
1.软件架构:filebeat----elasticsearch----kibana+sentinel---(邮件和钉钉)
2.软件下载地址:https://www.elastic.co/cn/downloads/past-releases# (本教程使用的为6.2.4)
3.elasticsearch安装
[[email protected]_0_7_centos ~]# egrep -v "^$|^#" /opt/app/elasticsearch-6.2.4/config/elasticsearch.yml

cluster.name: globalglb-elk
node.name: globalglb
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"

4.kibana安装
[[email protected]_0_10_centos ~]# egrep -v "^$|^#" /opt/app/kibana-6.2.4-linux-x86_64/config/kibana.yml

server.port: 5601
server.host: "10.9.0.10"
elasticsearch.url: "http://10.9.0.7:9200"
sentinl:
  settings:
    email:
      active: true
      user: [email protected]
      password: YOUxin2019
      host: smtp.126.com
      ssl: false
    report:
      active: true

4.filebeat配置信息
#cat ffilebeat.yml

filebeat.prospectors:
########################
- input_type: log
  paths:
    - /opt/app/logs/evolut-api-gateway/evolut-api-gateway.log
  #json.keys_under_root: true
  #json.overwrite_keys: true
  fields:
    index: ‘prd-evolut-api-gateway‘
  exclude_lines: [‘^$‘]
  multiline:
    pattern: ‘^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}‘
    negate: true
    match: after
#############################
- input_type: log
  paths:
    - /opt/app/logs/evolut-file-service/evolut-file-service.log
  #json.keys_under_root: true
  #json.overwrite_keys: true
  fields:
    index: ‘prd-evolut-file-service‘
  exclude_lines: [‘^$‘]
  multiline:
    pattern: ‘^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}‘
    negate: true
    match: after
#####################################
- input_type: log
  paths:
    - /opt/app/logs/evolut-admin/evolut-admin.log
  #json.keys_under_root: true
  #json.overwrite_keys: true
  fields:
    index: ‘prd-evolut-admin‘
  exclude_lines: [‘^$‘]
  multiline:
    pattern: ‘^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}‘
    negate: true
    match: after
##################################
- input_type: log
  paths:
    - /opt/app/logs/evolut-insurance/evolut-insurance.log
  #json.keys_under_root: true
  #json.overwrite_keys: true
  fields:
    index: ‘prd-evolut-insurance‘
  exclude_lines: [‘^$‘]
  multiline:
    pattern: ‘^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}‘
    negate: true
    match: after
#########################
- input_type: log
  paths:
    - /opt/app/logs/evolut-message/evolut-message.log
  #json.keys_under_root: true
  #json.overwrite_keys: true
  fields:
    index: ‘prd-evolut-message‘
  exclude_lines: [‘^$‘]
  multiline:
    pattern: ‘^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}‘
    negate: true
    match: after
####################
- input_type: log
  paths:
    - /opt/app/logs/evolut-schedule/evolut-schedule.log
  #json.keys_under_root: true
  #json.overwrite_keys: true
  fields:
    index: ‘prd-evolut-schedule‘
  exclude_lines: [‘^$‘]
  multiline:
    pattern: ‘^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}‘
    negate: true
    match: after
############
- input_type: log
  paths:
    - /opt/app/logs/evolut-user/evolut-user.log
  #json.keys_under_root: true
  #json.overwrite_keys: true
  fields:
    index: ‘prd-evolut-user‘
  exclude_lines: [‘^$‘]
  multiline:
    pattern: ‘^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}‘
    negate: true
    match: after
####################
####################
- input_type: log
  paths:
    - /opt/app/logs/evolut-esign/evolut-esign.log
  #json.keys_under_root: true
  #json.overwrite_keys: true
  fields:
    index: ‘prd-evolut-esign‘
  exclude_lines: [‘^$‘]
  multiline:
    pattern: ‘^\d{4}-\d{1,2}-\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}‘
    negate: true
    match: after
###################
output.elasticsearch:
  hosts: ["10.9.0.7:9200"]
  indices:
    - index: "prd-evolut-file-service-%{+YYYY.MM.dd}"
      when.contains:
        fields:
          index: "prd-evolut-file-service"
    - index: "prd-evolut-api-gateway-%{+YYYY.MM.dd}"
      when.contains:
        fields:
          index: "prd-evolut-api-gateway"
    - index: "prd-evolut-admin-%{+YYYY.MM.dd}"
      when.contains:
        fields:
          index: "prd-evolut-admin"
    - index: "prd-evolut-insurance-%{+YYYY.MM.dd}"
      when.contains:
        fields:
          index: "prd-evolut-insurance"
    - index: "prd-evolut-message-%{+YYYY.MM.dd}"
      when.contains:
        fields:
          index: "prd-evolut-message"
    - index: "prd-evolut-schedule-%{+YYYY.MM.dd}"
      when.contains:
        fields:
          index: "prd-evolut-schedule"
    - index: "prd-evolut-user-%{+YYYY.MM.dd}"
      when.contains:
        fields:
          index: "prd-evolut-user"
    - index: "prd-evolut-esign-%{+YYYY.MM.dd}"
      when.contains:
        fields:
          index: "prd-evolut-esign"

备注:filebeat监控多个文件,根据不同的文件家里索引

二、配置kibana+sentnl邮件和钉钉告警
1.登录控制台直接导入下面的代码,根据修改改

{
  "actions": {
    "邮件告警": {
      "name": "日志异常",
      "throttle_period": "0h2m0s",
      "email_html": {
        "stateless": false,
        "subject": "evolut-api-gateway模块--ERROR日志",
        "priority": "medium",
        "html": "<p><i>Hi,各位同事请注意下面有 {{payload.hits.total}} 条错误信息,请查看并处理!!</i>.</p>\n<div style=\"color:grey;\">\n  <hr />\n</div>\n<div>\n<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}}  \n</div>",
        "to": "[email protected]",
        "from": "[email protected]"
      }
    },
    "钉钉告警模板": {
      "name": "webhook告警",
      "throttle_period": "0h2m0s",
      "webhook": {
        "priority": "medium",
        "stateless": false,
        "method": "POST",
        "host": "oapi.dingtalk.com",
        "port": "443",
        "path": "/robot/send?access_token=bdf86156bcded8b10727ceff898b943ef726baaebd797f760336",
        "body": "{\r\n    \"msgtype\": \"markdown\",\r\n    \"at\": {\r\n        \"isAtAll\": \"True\"\r\n    },\r\n    \"markdown\": {\r\n        \"title\": \"异常消息\",\r\n        \"text\": \" evolut-api-gateway模块-错误日志: \\n {{#payload.hits.hits}} {{_source.message}} \r\n{{/payload.hits.hits}}\"\r\n    }\r\n}",
        "params": {
          "watcher": "{{watcher.title}}",
          "payload_count": "{{payload.hits.total}}"
        },
        "headers": {
          "Content-Type": "application/json"
        },
        "message": "生产环境异常",
        "use_https": true
      }
    }
  },
  "input": {
    "search": {
      "request": {
        "index": [
          "prd-evolut-api-gateway*"
        ],
        "body": {
          "query": {
            "bool": {
              "must": {
                "match": {
                  "message": "ERROR"
                }
              },
              "filter": {
                "range": {
                  "@timestamp": {
                    "gte": "now-5m/m",
                    "lte": "now/m",
                    "format": "epoch_millis"
                  }
                }
              }
            }
          },
          "size": 2,
          "aggs": {
            "dateAgg": {
              "date_histogram": {
                "field": "@timestamp",
                "time_zone": "Asia/Shanghai",
                "interval": "1m",
                "min_doc_count": 1
              }
            }
          }
        }
      }
    }
  },
  "condition": {
    "script": {
      "script": "payload.hits.total >= 1"
    }
  },
  "transform": {},
  "trigger": {
    "schedule": {
      "later": "every 2 minutes"
    }
  },
  "disable": false,
  "report": false,
  "title": "evolut-api-gateway"
}

邮件告警内容

告警邮件

钉钉告警
登录钉钉-新建群组--选择机器人

原文地址:https://blog.51cto.com/whitehat/2419796

时间: 2024-10-10 11:49:19

kibana+sentinl 6.2.4实现钉钉邮件告警的相关文章

js api 实现钉钉免登

js api 实现钉钉免登,用于从钉钉微应用跳转到企业内部的oa,erp等,我刚刚实施完了我公司的这个功能,钉钉用起来还不错. 1 js api 实现钉钉免登,页面配置. <title>利用jsapi实现免登</title>     <script type="text/javascript" src="https://g.alicdn.com/ilw/ding/0.7.5/scripts/dingtalk.js" ></s

zabbix - 对接钉钉应用接口

因为当时正配置的时候,钉钉推出了钉钉机器人接口,更方便的配置和报警: 所以就没有再弄这个,有需要的朋友再看看吧. https://github.com/Shanwn-git/zabbix/tree/master/dingding_api

TFS发布计划发送到钉钉消息群

由于工作中需要用到钉钉,每天都要和钉钉打交道:上下班打卡.出差请假流程.各种工作讨论组,不一而足,工作已然和钉钉绑在了一起,难怪有广告词: 微信是一个生活方式,钉钉是一个工作方式. 我们是钉钉机器人内测版的首批用户,使用自定义机器人功能做了预警消息推送,效果还不错,目前钉钉机器人已经正式发布,支持与Github.Gitlab.Jira等集成: 由于我们研发过程管理重度依赖微软TFS(Team Foundation Server),研发.测试及运维同学(DevOps)希望将发布计划通知到钉钉群,由

zabbix 使用机器人报警到钉钉群聊

钉钉机器人接口脚本下载:https://www.appgao.com/files/192.html 钉钉机器人接口地址(可以点击机器人查看):webhook地址,https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx 配置报警媒介类型 配置用户报警媒介 配置用户 赋予golang-zabbix-robot-64脚本所属主组和可执行权限 配置动作 默认信息: <?xml version="1.0" encoding=&q

[转] 钉钉的H5性能优化方案

对于一个H5的产品,功能无疑很重要,但是性能同样是用户体验中不可或缺的一环.原本H5的渲染性能就不及native的app,如果不把性能优化做起来,将极大地影响用户使用产品的积极性. 用户感受 当用户能够在1-2秒内打开H5页面,看到信息的展示,或者能够开始进行下一步的操作,用户会感觉速度还好,可以接受:而页面如果在2-5秒后才进入可用的状态,用户的耐心会逐渐丧失:而如果一个界面超过5秒甚至更久才能显示出来,这对用户来说基本是无法忍受的,也许有一部分用户会退出重新进入,但更多的用户会直接放弃使用.

钉钉(工作协同)应用之前端源码赏析

这几天在兴趣下翻看了钉钉(工作协同)应用的前端源码,分析其目录结构.构建工具及框架使用等,进行前端技术研究,分享我的总结成果. PS:不知道这应用的没关系,因为总结出来是前端通用的东西. PS:其应用样子. 前言 我研究的是PC桌面版的钉钉应用,应用是由“chrome内核容器+ web页面”构成的,也就是桌面的混合应用(跟手机Hybrid应用的原理一样),针对分析的也是其web页面部分. 首先它是一个单页面的应用,主体框架是用AngularJS,页面路由也是由AngularJS完成.由于框架是会

钉钉消息监控

在我们监控服务器的应用状态或服务器的端口状态异常时,经常需要发送告警信息给管理员,发送告警信息基本上要么以邮件.短息.微信.及其他方式告知管理员.现在使用钉钉软件的企业也开始逐渐增多,其中钉钉有一个机器人发送功能,可以做到机器人向钉钉指定用户发送消息.发送消息没有上限.而且免费,有了这个功能我们就可以使用钉钉机器人向系统管理员用户发送告警消息. 我这里有一台监控服务器,用来跑PHP监控脚本,PHP监控脚本每隔5分钟向主服务器请求一个状态文件,更具请求过来的状态文件进行判断主服务器状态是否正常,如

Zabbix-3.0.3实现钉钉告警

版本:v1.0 作者:白树潮 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合钉钉作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理. 一.创建钉钉机器人推送告警信息 添加一个机器人即可 复制webhook API后面会调用接口去推送告警信息 配置zabbix 下载程序:go语言写的一个api程序 https://cucc.file.qiansw.com:1443/2017/02/golang

H3BPM钉钉接入配置

1.1 登录https://www.dingtalk.com注册钉钉企业账号1 注册企业钉钉账号   登录钉钉企业后台管理获取CorpID和CorpSecret 2 创建企业应用 2.1 通过钉钉企业后台管理创建应用 地址说明: 地址设置成H3系统中对应的页面的地址,地址模板如下,使用时替换对应的IP,域名和端口号,地址需要外网访问 首页地址:http://218.17.157.145:8020//Portal/hybrid/index.html?target=home.index&state=