监控
SpringBoot
自带监控功能插件Actuator
,可以帮助实现对程序内部运行情况的监控,如监控状态、Bean
加载情况、配置属性和日志信息等。
使用步骤:
导入依赖坐标(在搭建项目时,可以直接勾选
Ops
中的Spring Boot Actuator
)xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
访问
http://localhost:8080/acruator
基本使用:可以查看到健康相关(包括引入的第三方包也能健康检查)(
{"status": "up"}
表示程序运行状态健康)和信息info
相关的功能(查看配置文件中以info
开头的配置信息)如果要开启健康检查的完整信息,我们需要在项目的配置文件中进行配置:
properties# info相关的信息 info.name=jlc info.age=25 # 开启健康检查的完整信息 management.endpoint.health.show-details=always
高级使用需要我们进行配置的开启,才能使用
# 将所有的监控endpoint暴露出来
management.endpoint.web.exposure.include=*
开启所有的功能后,我们可以看到Bean
加载情况、配置文件的属性信息和当前所有的url
路径信息等
图形化方式监控
开源项目Spring Boot Admin
提供了图形化的监控方式
Spring Boot Admin
有两个角色:客户端和服务端
- 应用程序作为
Spring Boot Admin Client
向Spring Boot Admin Server
注册 Spring Boot Admin Server
的UI
界面展示Spring Boot Admin Client
的Actuator Endpoint
上的一些监控信息
使用步骤:
admin-server
创建
admin-server
模块导入依赖坐标
admin-starter-server
(直接在创建SpringBoot
项目时勾选Web
中的Spring Web
和Ops
中的Spring Boot Admin (Server)
)在引导类上启用监控功能
@EnableAdminServer
javapackage com.jlc.springbootadminserver; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.SpringApplication; @SpringBootApplication @EnableAdminServer // 启动监控功能 public class SpringbootAdminserverApplication { public static void main(String[] args) { SpringApplication.run(SpringbootInitApplication.class, args); } }
admin-client
创建
admin-client
模块导入依赖坐标
admin-starter-client
(直接在创建SpringBoot
项目时勾选Web
中的Spring Web
和Ops
中的Spring Boot Admin (Client)
)配置相关信息:
server
地址等在
application.properties
中进行配置:properties# 执行admin.server的地址 spring.boot.admin.client.url=http://localhost:9000 # 具体的端口地址具体声明 # 开启健康检查的完整信息 management.endpoint.health.show-details=always # 将所有的监控endpoint暴露出来 management.endpoint.web.exposure.include=*
启动
server
和client
服务,访问server
,访问http://localhost:9000