《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 blog.52itstyle.vip/archives/3137/ 「小柒」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

前言

近期,邮件告警通知无法送达,导致部分错误信息开发人员没有及时收到,触发了手动电话通知机制(客户,你懂得)。这个锅我背,之前好好的,突然前段时间就不好使了(脚本什么的并没有动过)。快周末了,重新调整了一下告警通知,顺便加入钉钉机器人监控报警。

服务配置

服务器:192.168.1.180

相关软件

ELK(ElasticSearch、Logstash、Kibana)、Nginx、sendmail、钉钉

告警通知

邮件 + 钉钉通知

logstash 脚本:

input {
redis {
host => "192.168.1.180"
port => 6379
data_type => "list"
key => "logstash-tomcat-error"
type => "redis-input"
password => "123456"
db => 0
}
}
output {
elasticsearch {
hosts => ["192.168.1.180:9200"]
}
exec {
command => "/home/logs/script/alarm.sh %{type} %{message} %{path}"
}
}
  • message:详细错误日志信息
  • type:项目名称标识
  • path:日志文件路径

告警脚本 alarm.sh:

#!/bin/sh
curl 'https://oapi.dingtalk.com/robot/send?access_token=*************' \
-H 'Content-Type: application/json' \
-d '
{"msgtype": "text",
"text": {
"content":"'$1':错误预警,请登录日志平 "content":"'$1':错误预警,请登录日志平监控查看 http://logs.52itstyle.com"
监控查看 http://logs.52itstyle.com"
}
}'
echo $3 $1:$2 | mail -s 凌晨一点的bug,就知道养生 345849402@qq.com 10000@qq.com;

钉钉告警

钉钉监控

钉钉监控

注意事项

  • linux shell多条命令使用;分隔
  • linux shell中curl发送post请求json,数据里变量要用’’括起来
文章目录
  1. 1. 前言
  2. 2. 服务配置
  3. 3. 相关软件
  4. 4. 告警通知
  5. 5. 钉钉告警
  6. 6. 注意事项