springboot集成Admin「告警误报」

496 阅读1分钟

SpringbootAdmin告警服务上线后,Admin偶尔性的推送服务上下线告警,但是服务状态正常。通过查看日志,有健康监测失败、超时异常信息。

WARN 16642 --- [io-18082-exec-2] o.s.b.actuate.mail.MailHealthIndicator : Mail health check failed

因为springboot的健康监测机制依赖于spring-boot-start-actuator模块,在Health默认是包括一些常用资源的健康指标监测,当工程引入依赖后会自动添加到Health里。

我当前误报上下线告警的服务,正好有邮件发送模块,邮件模块是每5秒检测一次健康状态,每次检测会主动连接邮件服务器,大概由于连接过于频繁或者是网络丢包,邮件服务器没有成功响应,导致健康监测失败,误报上下线告警。

Spring Boot Actuator所有的监控项中的任何一个健康状态是DOWN,那个整体应用的健康状态也是DOWN。

所在,在通常情况下,可以排除不必要的健康检测项:management.health.xxx.enabled=false

下面是一些检测项

更多请参考:

docs.spring.io/spring-boot…