Spring Boot Admin官方文档阅读笔记

Jackie最近基于Spring Boot和Spring Cloud做一个新项目,集成了Spring Boot Admin来监控各微服务应用。之前是参照网友的文章完成的监控,没有参考过官方文档。如下是在阅读官方文档时的笔记。

笔记

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

参考资料



查看原文:http://www.jackieathome.net/archives/469.html
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐