SpringCloud(29)—— 使用Springboot Admin 2.0.3 服务监控
Spring Boot Admin 用于监控基于 Spring Boot 的应用,它是在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI。
Spring Boot Admin 提供了很多功能,如显示 name、id 和 version,显示在线状态,Loggers 的日志级别管理,Threads 线程管理,Environment 管理等。
在 Spring Boot 项目中,Spring Boot Admin 作为 Server 端,其他的要被监控的应用作为 Client 端,基于这种的配置如下步骤:
1. Server 端
1.1 添加相关依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.jolokia</groupId> <artifactId>jolokia-core</artifactId> </dependency> <!-- 安全认证 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>${spring.boot.admin}</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server-ui</artifactId> <version>${spring.boot.admin}</version> </dependency>
1.2 配置信息
eureka: instance: # 解决健康节点权限问题 将用户名及密码放入eureka的元数据中 metadata-map: user.name: ${spring.security.user.name} user.password: ${spring.security.user.password}
spring:
application:
name: admin-server
security:
user:
name: zhangsan
password: 111111
2. Client 端
2.1 相关依赖
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>${spring.boot.admin}</version> </dependency>
2.2 配置信息
spring: application: name: admin-client security: user: name: zhangsan password: 111111 eureka: instance: # 解决健康节点权限问题 将用户名及密码放入eureka的元数据中 metadata-map: user.name: ${spring.security.user.name} user.password: ${spring.security.user.password} # 指向被监控 admin server 服务 spring: boot: admin: client: url: http://localhost:8080 # Server端 --- # 服务管理与监控 management: endpoints: web: exposure: # 加载所有的端点/默认只加载了 info / health include: '*' endpoint: health: show-details: always
访问:
http://localhost:8080