Kibana插件sentinl实现邮件报警_sentinl插件邮件告警

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

  "index": [
    "amazon-log-\*"//索引名称,我们要在哪个索引日志里进行预警。(这里大家注意对索引名称加上双引号,不加的话会报错)
  ],
  "body": {
    "query": {
      "bool": {
        "must": [
          {
            "query\_string": {
              "analyze\_wildcard": true,
              "query": "\"nested exception is org.hibernate.exception.LockTimeoutException: could not execute statement\""//这里我们也是要注意的点,                //黄色部分是转义双引号,因为我的匹配内容里面有特殊符号,两个黄色部分的内容就是我们要预警的内容。
            }
          },
          {
            "range": {
              "@timestamp": {
                "gte": "now-5m",//因为我前面的全局设置是5分钟轮询一次任务,那么我在这里只需要设置检查的范围是过去5分钟的内容
                "lte": "now",
                "format": "epoch\_millis"
              }
            }
          }
        ],
        "must\_not": []
      }
    }
  }
}

}
}


在上面的Input的结果就是:在索引"amazon-log-\*"里过去五分钟查询包含“nested exception is org.hibernate.exception.LockTimeoutException: could not execute statement


”的日志。


Condition为报警触发条件,当我们在前面匹配到我们的预警内容后,我们在这可以设置一个阈值,比如我们设置为0时,就意味着只要匹配到就会触发,设置为1时,只有出现大于1才会触发。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200226222533484.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 Transform是一个附属条件,暂时没有发现他的用处。


接下来就是:Action也就是触发后的动作,我们这里选择的是邮件。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200226222548548.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200226222554730.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 Raw是对所有的设置进行展示,我们如果在此次修改的内容只有点击右上角的保存后重新打开才可以在Raw里看到所有的配置。


在这边设置好了我们需要在服务器上配置邮件发送服务。


这里分为三步,第一就是对邮箱开启POP3/SMTP/IMAP服务,并获得授权码或者密码,第二是kibana的邮件设置,第三步就是mailx的邮件设置。


首先我们来解决的对发件邮箱设置POP3/SMTP/IMAP服务,这边我们建议使用163邮箱,因为我在使用QQ邮箱作为发件箱的时候发现是发不出去的,QQ邮箱需要SSL协议的支持,但是我使用163邮箱是可以正常发出邮件的。(虽然我们也可以设置SSL,但是我们这里为了方便就没有使用)


**第一登录163邮箱,在163邮箱-----》设置----》选择POP3/SMTP/IMAP。获取授权码。(保存好,是等下我们在邮件配置的时候需要填入的内容)**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200226222621734.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 第二是kibana的邮件设置。编辑kibana.yml在末尾加入以下内容。



sentinl:
settings:
email:
active: true
user: 发件邮箱
password: 密码
host: smtp.163.com
ssl: false
report:
active: true
tmp_path: /tmp/


因为我是不使用ssl协议,所以我将ssl设置为false。


**第三是mailx的设置**。首先我们需要安装mailx,使用它来发送邮件。



yum install -y mailx


然后我们需要配置mailx。在/etc/mail.rc配置文件的末尾加上以下内容。



set from=demo@163.com
set smtp=smtp.163.com
set smtp-auth-user=demo
set smtp-auth-password=demopass
set smtp-auth=login


配置好了后我们试试我们是否可以发送邮件。测试邮件发送:



echo “this is test” |mailx -v -s “Test” “收件邮箱”


然后我们可以看看收件邮箱有没有收到,如果没有收到看看发件过程中是否有error,也可以看看我们的垃圾邮件里面有没有。


有的时候有的服务器厂商是会将邮件服务的某些端口屏蔽的,所以我们可以在发送失败后用telnet邮件服务器看看是否被屏蔽。


如果上面是成功发送的话,那么我们将进行最后一步了。就是重启kibana,然后手动触发下,看看能不能接收到预警邮件。(一定要重启让配置生效)  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200226223404273.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 以上就是我在安装kibana插件 sentinl实现邮件报警的整个过程。


## kibana sentinl webhook实现自定义报警


## 背景:


目前每个应用都有各自的负责人,现有的报警机制无法满足 根据应用不同发送给不同的人,kibana的默认报警无法灵活的去展示报警信息。经过一段时间的预研,还是决定选择webhook的形式 中转之后展示自定义的信息。  
 **报警邮件效果如图:**  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311161032970.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 点击详情跳转到上下文:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311161045855.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwOTA3OTc3,size_16,color_FFFFFF,t_70)  
 **在有安装sentinl的kibana里配置webhook日志报警:**



{
“actions”: {
“Webhook_86ccf137-5981-402e-bb04-a3d7b1ea6fa6”: {
“name”: “Webhook”,
“webhook”: {
“priority”: “high”,
“stateless”: false,
“method”: “POST”,
“host”: “192.168.10.190”,
“port”: “8002”,
“path”: “/api/logs/mail/error_logs_notify”,
“body”: “[{{#payload.results}}{“appName”: “{{appName}}”, “errors”: [{{#errors}}{“type”: “{{type}}”,“index”: “{{index}}”,“id”: “{{id}}”, “message”: “{{message}}”}{{#comma_e}},{{/comma_e}}{{/errors}}]}{{#comma_b}},{{/comma_b}}{{/payload.results}}]”,
“headers”: {
“Content-Type”: “application/json”
}
}
}
},
“input”: {
“search”: {
“request”: {
“index”: [
“isys*”
],
“body”: {
“query”: {
“bool”: {
“must”: [
{
“match”: {
“loglevel”: “ERROR”
}
},
{
“range”: {
“@timestamp”: {
“gte”: “now-10m”,
“lt”: “now”
}
}
}
]
}
},
“aggs”: {
“app_errors”: {
“terms”: {
“field”: “appname.keyword”
},
“aggs”: {
“errors”: {
“top_hits”: {
“size”: 10,
“_source”: {
“includes”: [
“message”
]
}
}
}
}
}
}
}
}
}
},
“condition”: {
“script”: {
“script”: “payload.hits.total > 0”
}
},
“transform”: {
“script”: {
“script”: “payload.results=[];payload.aggregations.app_errors.buckets.forEach(function(b,bi){var r={};r.appName=b.key;r.errors=[];if(bi!=payload.aggregations.app_errors.buckets.length-1){r.comma_b=true}b.errors.hits.hits.forEach(function(h,hi){var v={};v.id=h._id;v.type=h._type;v.index = h._index;v.message=escape(h._source.message);if(hi!=b.errors.hits.hits.length-1){v.comma_e=true}r.errors.push(v)});payload.results.push®})”
}
},
“trigger”: {
“schedule”: {
“later”: “every 10 minutes”
}
},
“disable”: true,
“report”: false,
“title”: “isyscore_error_watcher”,
“save_payload”: false,
“spy”: false,
“impersonate”: false
}


**webhook的项目**



![img](https://img-blog.csdnimg.cn/img_convert/fd451e40e2657f395f23da7a06c91608.png)
![img](https://img-blog.csdnimg.cn/img_convert/c03420b41f11118bef88cd1a3bcb4946.png)
![img](https://img-blog.csdnimg.cn/img_convert/c8191f0b09e5c5fecdca0362adcbfe4f.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**


[外链图片转存中...(img-aJ4lW28V-1715805269645)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618631832)**

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值