在项目中集成 Actuator
和 Spring Boot Admin
可以帮助开发者监控和管理应用程序的运行状态。Actuator
提供了应用程序的健康检查、指标收集等功能,一个基于 Actuator
的可视化管理工具,提供了更友好的 UI
界面和更强大的管理功能。
简介
Actuator
是 Spring Boot
提供的一个模块,用于监控和管理应用程序。它提供了以下功能:
健康检查:检查应用程序的运行状态。
指标收集:收集应用程序的性能指标(如内存使用、CPU 使用等)。
环境信息:查看应用程序的配置信息。
日志管理:动态调整日志级别。
Spring Boot Admin
是一个基于 Actuator
的可视化管理工具,提供了以下功能:
应用程序监控:实时监控应用程序的运行状态。
日志管理:查看和动态调整日志级别。
通知功能:支持邮件、Slack 等通知方式。
历史数据:查看应用程序的历史运行数据。
添加依赖
在 pom.xml
中添加 Actuator
和 Spring Boot Admin
的依赖。
js
<!--监控-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--监控服务端-->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>3.2.2</version>
</dependency>
<!--监控客户端-->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>3.2.2</version>
</dependency>
配置文件
在 application-actuator.yml
中配置 Actuator
,内容如下:
js
spring:
application:
name: xiaomayi-admin
# Spring Boot Admin 配置项
boot:
admin:
# 客户端开关
enabled: true
# Spring Boot Admin Server 服务端的相关配置
context-path: admin # 配置 Spring
# Spring Boot Admin Client 客户端的相关配置
client:
# 监控服务端口号
port: 8080
# 设置 Spring Boot Admin Server 地址
url: http://127.0.0.1:${spring.boot.admin.client.port}/api/${spring.boot.admin.context-path}
# 配置 admin-server的账号和密码
username: admin
password: 123456
instance:
service-host-type: IP # 注册实例时,优先使用 IP [IP, HOST_NAME, CANONICAL_HOST_NAME]
# 注册到admin server的微服务名称
name: 小蚂蚁云后端管理系统
metadata:
# 这里配置admin-client的账号和密码
user.name: ${spring.security.user.name}
user.password: ${spring.security.user.password}
# 配置一个账号和密码
security:
user:
name: admin
password: 123456
# Actuator 监控端点的配置项
management:
health:
redis:
enabled: false
mail:
enabled: false
endpoints:
web:
base-path: /actuator # Actuator 提供的 API 接口的根目录。默认为 /actuator
exposure:
include: '*' # 需要开放的端点。默认值只打开 health 和 info 两个端点。通过设置 * ,可以开放所有端点。、
# 是否开启默认端点,默认值true
enabled-by-default: true
endpoint:
health:
# 是否展示健康检查详情
show-details: always
info: # 端点名称
# 是否开放,对单一端点的开启与关闭
enabled: true
logfile:
external-file: ${user.dir}/logs/${spring.profiles.active}/xs-monitor/xs-monitor-server/sys-console.log
security:
enabled: false
常用 Actuator
端点:
/actuator/health:健康检查。
/actuator/info:应用程序信息。
/actuator/metrics:性能指标。
/actuator/env:环境信息。
/actuator/loggers:日志管理。
服务注解
在应用启动主类上添加 @EnableAdminServer
注解:
js
package com.xiaomayi.monitor;
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@EnableAdminServer
@SpringBootApplication
public class MonitorApplication {
public static void main(String[] args) {
SpringApplication.run(MonitorApplication.class, args);
System.out.println("(♥◠‿◠)ノ゙ 小蚂蚁云监控服务启动成功 ლ(´ڡ`ლ)゙");
}
}
访问监控
- 启动
Spring Boot Admin Server
和被监控的应用程序。
- 访问
Spring Boot Admin
的UI
界面:http://localhost:8080/api/admin
。
- 在
UI
界面中,可以看到被监控的应用程序列表,并查看其运行状态、日志、性能指标等信息。