⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《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. 注意事项