前言
本来不想写这篇文章的,奈何有人崇尚这个,顺带介绍一下,扩展一下思路。
代码仓库
弊端
比如:当 499
(HTTP
状态码) 在半小时内出现了 50 次,需要实现告警。
这种情况就不能自定义了,只能说,出现 499
就告警,这个很傻。
麻烦一点的解决方案
就是统计后,写入某一个日志文件,然后再根据来源来分辨是否发送告警。
好像有点傻…
毕竟,都已经统计了,直接告警就行,还要写日志,再通过 Logstash
发送告警,有点冗余。
至于怎么统计,好像有个 KSQL
,是 Kibana
的。
实现
这里主要用到了两块内容,一个是 Logstash
的 output.http
,一个是 钉钉
的 机器人
。
关于如何创建机器人,还是直接查看官方文档吧,这里就不多做描述了。
废话有点多,直接看实现吧。
output {
http {
url => "https://oapi.dingtalk.com/robot/send?access_token=你的token"
http_method => "post"
format => "message"
content_type => "application/json; charset=utf-8"
message => "{'msgtype':'text','text': {'content': '你的标识 需要告警的错误信息'}}"
}
}
TIPS: 你的标识 一定要和配置的一致,不然发送会失败。
最后
可以玩玩,官方出 output.http
不是用来做这个的,但可以帮助我们学习使用方法。