Spring Boot Admin官方文档阅读笔记
Jackie最近基于Spring Boot和Spring Cloud做一个新项目,集成了Spring Boot Admin来监控各微服务应用。之前是参照网友的文章完成的监控,没有参考过官方文档。如下是在阅读官方文档时的笔记。笔记
- 微服务组件如果需要被Spring Boot Admin服务器监控,有两种方法:
- 集成spring-boot-admin-starter-client组件。当前Jackie在项目中使用的是这种方式。
- 集成Spring Cloud Discovery组件,即集成Eureka服务。这种方法不错,值得一试,当前Jackie在项目中使用了Eureka服务组件,试验这种方案几乎没有成本。
- 官方文档建议Eureka服务和Spring Boot Admin服务可以集成在一个组件内。为了避免冲突,文档建议指定
spring.boot.admin.context-path
的值,避免使用/
。 - 如果要在Spring Boot Admin服务的UI页面上查看组件的版本,那么需要在微服务组件的配置文件
application.yml
或者application.properties
中定义版本info.version
,样例如下:
样例中的info.version=@project.version@
@project.version@
可以使用maven filtering方式在构建过程中设值。 - 如果在Spring Boot Admin服务的UI界面查看微服务组件的JMX Bean,微服务组件需要增加对Jolokia的依赖。maven的配置样例如下:
<dependency> <groupId>org.jolokia</groupId> <artifactId>jolokia-core</artifactId> </dependency>
- 在Spring Boot Admin服务的UI界面,基于JMX来管理各微服务组件的日志级别,需要修改Logback的配置文件,样例如下:
<configuration> <include resource="org/springframework/boot/logging/logback/base.xml"/> <jmxConfigurator/> </configuration>
- Spring Boot Admin提供了多种通知方式,比如邮件、Pagerduty、Hipchat 、Slack和Remindera。 这个特性很好,当注册到Spring Boot Admin的微服务组件运行异常时,运维人员可以在第一时间得到通知,进而快速处理。Jackie所在的产品目前采用Zabbix来监控微服务组件的状态,由于Zabbix是一个通用的监控服务,没有针对Spring Boot应用做适配,因此在监控微服务组件的运行状态时需要自行开发,工作量大;限于对Zabbix和Spring Boot的理解,自定义的组件使用又不方便,每新增一个微服务组件,就要在Zabbix界面上增加相应的配置,运维人员一忙就容易忘记为新组件增加配置。经常 导致收到投诉的时候,运维人员才发现对应的服务组件已经挂了相当长时间了。
所有评论(0)