Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用
欢迎来到阿八个人博客网站。本 阿八个人博客 网站提供最新的站长新闻,各种互联网资讯。 喜欢本站的朋友可以收藏本站,或者加QQ:我们大家一起来交流技术! URL链接:https://www.abboke.com/jsh/2019/1010/116415.html
注意: 单机版本无需配置其中的 启动主类 SpringBootAdminServerApplication.java 如下: 代码清单:spring-boot-admin/spring-boot-admin-server/src/main/java/com/springboot/springbootadminserver/SpringBootAdminServerApplication.java 注意: 单机版本无需添加 此工程为 Spring Boot Admin 单机版演示用例 pom.xml 如下:spring-boot-admin/spring-boot-admin-clienta/pom.xml 代码清单: 配置文件 application.yml 如下: 代码清单:spring-boot-admin/spring-boot-admin-clienta/src/main/resources/application.yml 启动 spring-boot-admin-server 工程和 spring-boot-admin-clienta ,稍等一会, spring-boot-admin-clienta 会自动注册到 spring-boot-admin-server 上面去 打开浏览器访问 http://localhost:8888/ ,这时我们可以看到 Spring Boot Admin 监控图,如下: 此工程示例为微服务版本的 Spring Boot Admin 使用示例,其中使用服务中心 Eureka 注册服务, Spring Boot Admin 会从服务中心 Eureka 上读取相关的信息,进行服务监控 Eureka 代码示例这里不再列出,如果有需要补课的同学,可以访问笔者的 《Spring Cloud 系列文章》 工程依赖 pom.xml 如下: 代码清单:spring-boot-admin/spring-boot-admin-client/pom.xml 配置文件 application.yml 如下: 代码清单:spring-boot-admin/spring-boot-admin-client/src/main/resources/application.yml 启动主类 SpringBootAdminClientApplication.java 如下: 代码清单: 测试: 修改编辑器 idea 配置,在两个不同的端口启动子工程 spring-boot-admin-client ,打开 Spring Boot Admin 的 UI 界面,显示如下: 可以看到,这里显示了两个应用( APPLICATIONS ),一个是我们的 spring-boot-admin-server 本身的监控,还有一个是我们的 spring-boot-admin-client 应用,且该应用有两个实例( INSTANCES ),分别位于两个不同的端口 8080 和 8081 示例代码-Github 示例代码-Gitee 使用 spring-boot-admin 对 Spring Boot 服务进行监控
eureka.***.***
等相关内容@SpringBootApplication@EnableAdminServer@EnableEurekaClientpublic class SpringBootAdminServerApplication { public static void main(String[] args) { SpringApplication.run(SpringBootAdminServerApplication.class, args); }}
@EnableEurekaClient
注解3.3 创建子工程 spring-boot-admin-clienta
此工程仅需引入 <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId></dependency>
spring-boot-admin-starter-client
Spring Boot Admin 的客户端即可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 监控的应用的详细的应用健康信息3.4 创建子工程 spring-boot-admin-client
这样我们就不需要在客户端再配置 Spring Boot Admin 的服务地址,后续如果 Spring Boot Admin 服务发生地址迁移等事情时,也无需修改客户端的配置文件
这里仅添加 Spring Boot Admin 的客户端和 Spring Cloud Eureka 的客户端依赖<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 服务地址的配置,增加了 Eureka 服务中心的配置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
@SpringBootApplication@EnableEurekaClientpublic class SpringBootAdminClientApplication { public static void main(String[] args) { SpringApplication.run(SpringBootAdminClientApplication.class, args); }}
@EnableEurekaClient
含义为启用 Eureka 客户端,实测虽然这里不写也一样会启用,但是最好还是写一下吧:)
点进去一样可以看到对应的实例的详情4. 示例代码
5. 参考
相关文章