当前位置:   article > 正文

springboot 监控 Actuator和Admin_spring boot actuator和spring boot admin什么关系

spring boot actuator和spring boot admin什么关系

一、什么是Actuator

       Actuator是spring boot的一个附加功能,可帮助你在应用程序生产环境时监视和管理应用程序。可以使用HTTP的各种请求来监管,审计,收集应用的运行情况。Spring Boot Actuator提供了对单个Spring Boot的监控,信息包含:应用状态、内存、线程、堆栈等等,比较全面的监控了Spring Boot应用的整个生命周期。特别对于微服务管理十分有意义。

        缺点:没有可视化界面。

        解决:后面将要讲到的Admin-UI解决弥补这一缺陷

实例:

pom.xml

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-actuator</artifactId>
  8. </dependency>

application.yml

  1. server:
  2. port: 8080
  3. #自定义配置信息用于"/actuator/info"读取
  4. info:
  5. name: 老王
  6. age: 100
  7. phone: 110
  8. #通过下面的配置启用所有的监控端点,默认情况下,这些端点是禁用的;
  9. management:
  10. endpoints:
  11. web:
  12. exposure:
  13. include: "*"

app.java

  1. @RestController
  2. @SpringBootApplication
  3. public class App {
  4. public static void main(String[] args) {
  5. SpringApplication.run(App.class, args);
  6. }
  7. @RequestMapping("/index")
  8. public String index() {
  9. return "这是 index";
  10. }
  11. @RequestMapping("/home")
  12. public String home() {
  13. return "这是 home";
  14. }
  15. }

运行:

 

说明: 默认情况下,在不配置启用所有监控站点时,只拥有3个接口的监控权限,把 application.yml改成:

  1. server:
  2. port: 8080
  3. #自定义配置信息用于"/actuator/info"读取
  4. info:
  5. name: 老王
  6. age: 100
  7. phone: 110
  8. #通过下面的配置启用所有的监控端点,默认情况下,这些端点是禁用的;
  9. #management:
  10. # endpoints:
  11. # web:
  12. # exposure:
  13. # include: "*"

 

 

 

二、什么是Spring Boot Admin

      Spring Boot Admin 是一个针对spring-boot的actuator接口进行UI美化封装的监控工具。他可以返回在列表中浏览所有被监控spring-boot项目的基本信息比如:Spring容器管理的所有的bean、详细的Health信息、内存信息、JVM信息、垃圾回收信息、各种配置信息(比如数据源、缓存列表和命中率)等,Threads 线程管理,Environment 管理等。

Spring Boot Admin 是由Client端和Server端组成,在 Spring Boot 项目中,Spring Boot Admin 作为 Server 端,其他的要被监控的应用作为 Client 端, 基于这种的配置如下步骤:


2.1 搭建Server端

pom.xml

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-actuator</artifactId>
  8. </dependency>
  9. <dependency>
  10. <groupId>de.codecentric</groupId>
  11. <artifactId>spring-boot-admin-starter-server</artifactId>
  12. <version>2.0.0</version>
  13. </dependency>

applicaiton.yml

  1. server:
  2. port: 8081

app.java

  1. @RestController
  2. @EnableAdminServer
  3. @SpringBootApplication
  4. public class App {
  5. public static void main(String[] args) {
  6. SpringApplication.run(App.class, args);
  7. }
  8. }

启动服务端:

这时不没有数据。

 

2.1 搭建client端

pom.xml

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-web</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-actuator</artifactId>
  8. </dependency>
  9. <dependency>
  10. <groupId>de.codecentric</groupId>
  11. <artifactId>spring-boot-admin-starter-client</artifactId>
  12. <version>2.0.0</version>
  13. </dependency>

application.yml

  1. server:
  2. port: 8080
  3. #自定义配置信息用于"/actuator/info"读取
  4. info:
  5. name: 老王
  6. age: 100
  7. phone: 110
  8. #通过下面的配置启用所有的监控端点,默认情况下,这些端点是禁用的;
  9. management:
  10. endpoints:
  11. web:
  12. exposure:
  13. include: "*"
  14. endpoint:
  15. health:
  16. show-details: always
  17. ## 将Client作为服务注册到Server,通过Server来监听项目的运行情况
  18. spring:
  19. boot:
  20. admin:
  21. client:
  22. url: http://localhost:8081
  23. ##application实例名
  24. application:
  25. name : spring-boot-admin-client

app.java

  1. @RestController
  2. @SpringBootApplication
  3. public class App {
  4. public static void main(String[] args) {
  5. SpringApplication.run(App.class, args);
  6. }
  7. @RequestMapping("/index")
  8. public String index() {
  9. return "这是 index";
  10. }
  11. @RequestMapping("/home")
  12. public String home() {
  13. return "这是 home";
  14. }
  15. }

启动 client……

几秒后刷新,可以看到 client 端已注册到 server。

查看 client 详细信息:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/101925
推荐阅读
相关标签
  

闽ICP备14008679号