文章目录
- 1-SpringBoot2-监控-健康监控服务
- 2-SpringBoot2-监控-Admin可视化
在Spring Boot
中,可以通过Actuator
模块实现应用程序的健康监控。Actuator
是Spring Boot
提供的一个用于监控和管理应用程序的模块,可以轻松地查看应用程序的运行状况、性能指标和其他有用的信息。
1-SpringBoot2-监控-健康监控服务
讲解:
每一个微服务在云上部署以后,我们都需要对其进行监控、追踪、审计、控制等。SpringBoot就抽取了Actuator场景,使得我们每个微服务快速引用即可获得生产级别的应用监控、审计等功能。
实现:
1、引入依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2、启动项目,访问 http://localhost:80/actuator
3、暴露所有监控信息为HTTP
management:endpoints:enabled-by-default: true #暴露所有端点信息web:exposure:include: '*' #以web方式暴露endpoint:health:enabled: true # 开启健康检查详细信息show-details: always
访问 http://localhost:80/actuator
会发现内容多了,里面的地址分别都可以访问,记录的是对应的健康监测的信息。
2-SpringBoot2-监控-Admin可视化
讲解:
SpringBoot Admin 有两个角色,客户端(Client)和服务端(Server)。
Spring Boot Admin为注册的应用程序提供以下功能:
- 显示健康状况
- 显示详细信息,例如
- JVM和内存指标
- micrometer.io指标
- 数据源指标
- 缓存指标
- 显示内部信息
- 关注并下载日志文件
- 查看JVM系统和环境属性
- 查看Spring Boot配置属性
- 支持Spring Cloud的可发布/ env-和// refresh-endpoint
- 轻松的日志级别管理
- 与JMX-beans交互
- 查看线程转储
- 查看http-traces
- 查看审核事件
- 查看http端点
- 查看预定的任务
- 查看和删除活动会话(使用spring-session)
- 查看Flyway / Liquibase数据库迁移
- 下载heapdump
- 状态更改通知(通过电子邮件,Slack,Hipchat等)
- 状态更改的事件日志(非持久性)
快速入门:https://codecentric.github.io/spring-boot-admin/2.3.1/#getting-started
实现:
以下为创建服务端和客户端工程步骤:
搭建Server端:
1、创建 admin_server 模块,引入依赖
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.3.10.RELEASE</version><relativePath/> <!-- lookup parent from repository -->
</parent><dependencies><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</artifactId><version>2.3.1</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
2、开启注解支持
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
@EnableAdminServer
public class AdminApplication {public static void main(String[] args) {SpringApplication.run(AdminApplication.class, args);}
}
注意端口修改为:9999
搭建Client端:
1、在任意服务里面引入依赖
<dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>2.3.1</version>
</dependency>
2、配置文件
# 执行admin.server地址
spring: boot:admin:client:url: http://localhost:9999 # admin 服务地址instance:prefer-ip: true # 显示IPapplication:name: boot_data # 项目名称management:endpoints:enabled-by-default: true #暴露所有端点信息web:exposure:include: '*' #以web方式暴露endpoint:health:enabled: true # 开启健康检查详细信息show-details: always
3、启动服务,访问admin Server http://localhost:9999/