阿八博客
  • 100000+

    文章

  • 23

    评论

  • 20

    友链

  • 最近新加了很多技术文章,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用

欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/1010/116415.html

注意: 单机版本无需配置其中的 eureka.***.*** 等相关内容

启动主类 SpringBootAdminServerApplication.java 如下:

代码清单:spring-boot-admin/spring-boot-admin-server/src/main/java/com/springboot/springbootadminserver/SpringBootAdminServerApplication.java

@SpringBootApplication@EnableAdminServer@EnableEurekaClientpublic class SpringBootAdminServerApplication {    public static void main(String[] args) {        SpringApplication.run(SpringBootAdminServerApplication.class, args);    }}

注意: 单机版本无需添加 @EnableEurekaClient 注解

3.3 创建子工程 spring-boot-admin-clienta

此工程为 Spring Boot Admin 单机版演示用例

pom.xml 如下:spring-boot-admin/spring-boot-admin-clienta/pom.xml

代码清单:

<dependency>    <groupId>de.codecentric</groupId>    <artifactId>spring-boot-admin-starter-client</artifactId></dependency>
此工程仅需引入 spring-boot-admin-starter-client Spring Boot Admin 的客户端即可

配置文件 application.yml 如下:

代码清单:spring-boot-admin/spring-boot-admin-clienta/src/main/resources/application.yml

server:  port: 9090spring:  application:    name: spring-boot-clienta  boot:    admin:      client:        url: http://localhost:8888management:  endpoints:    web:      exposure:        include: "*"  endpoint:    health:      show-details: ALWAYS
spring.application.name 配置的名称会在 Spring Boot Admin 的 UI 界面中显示出来
spring.boot.admin.client.url 配置的是我们 Spring Boot Admin 服务端的地址
management.endpoints.web.exposure.include 开启 Spring Boot Actuator 的全部监控
management.endpoint.health.show-details 开启 Spring Boot Actuator 监控的应用的详细的应用健康信息

启动 spring-boot-admin-server 工程和 spring-boot-admin-clienta ,稍等一会, spring-boot-admin-clienta 会自动注册到 spring-boot-admin-server 上面去

打开浏览器访问 http://localhost:8888/ ,这时我们可以看到 Spring Boot Admin 监控图,如下:

3.4 创建子工程 spring-boot-admin-client

此工程示例为微服务版本的 Spring Boot Admin 使用示例,其中使用服务中心 Eureka 注册服务, Spring Boot Admin 会从服务中心 Eureka 上读取相关的信息,进行服务监控
这样我们就不需要在客户端再配置 Spring Boot Admin 的服务地址,后续如果 Spring Boot Admin 服务发生地址迁移等事情时,也无需修改客户端的配置文件

Eureka 代码示例这里不再列出,如果有需要补课的同学,可以访问笔者的 《Spring Cloud 系列文章》

工程依赖 pom.xml 如下:

代码清单:spring-boot-admin/spring-boot-admin-client/pom.xml

<dependency>    <groupId>de.codecentric</groupId>    <artifactId>spring-boot-admin-starter-client</artifactId></dependency><dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
这里仅添加 Spring Boot Admin 的客户端和 Spring Cloud Eureka 的客户端依赖

配置文件 application.yml 如下:

代码清单:spring-boot-admin/spring-boot-admin-client/src/main/resources/application.yml

server:  port: 8080spring:  application:    name: spring-boot-admin-clienteureka:  instance:    leaseRenewalIntervalInSeconds: 10    health-check-url-path: /actuator/health  client:    registryFetchIntervalSeconds: 5    serviceUrl:      defaultZone: ${EUREKA_SERVICE_URL:http://localhost:8761}/eureka/management:  endpoints:    web:      exposure:        include: "*"  endpoint:    health:      show-details: ALWAYS
对比前面单机版的配置,这里去掉了 Spring Boot Admin 服务地址的配置,增加了 Eureka 服务中心的配置

启动主类 SpringBootAdminClientApplication.java 如下:

代码清单:

@SpringBootApplication@EnableEurekaClientpublic class SpringBootAdminClientApplication {    public static void main(String[] args) {        SpringApplication.run(SpringBootAdminClientApplication.class, args);    }}
@EnableEurekaClient 含义为启用 Eureka 客户端,实测虽然这里不写也一样会启用,但是最好还是写一下吧:)

测试:

修改编辑器 idea 配置,在两个不同的端口启动子工程 spring-boot-admin-client ,打开 Spring Boot Admin 的 UI 界面,显示如下:

可以看到,这里显示了两个应用( APPLICATIONS ),一个是我们的 spring-boot-admin-server 本身的监控,还有一个是我们的 spring-boot-admin-client 应用,且该应用有两个实例( INSTANCES ),分别位于两个不同的端口 8080 和 8081
点进去一样可以看到对应的实例的详情

4. 示例代码

示例代码-Github

示例代码-Gitee

5. 参考

使用 spring-boot-admin 对 Spring Boot 服务进行监控

相关文章

暂住......别动,不想说点什么吗?
  • 全部评论(0
    还没有评论,快来抢沙发吧!