功能:
根据应用依赖和配置自动为应用创建一系列用于监控的端点
使用:
引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
查看
使用服务地址http://localhost:8702/actuator/health 返回内容如下:
{
"_links": {
"self": {
"href": "http://localhost:8702/actuator",
"templated": false
},
"health": {
"href": "http://localhost:8702/actuator/health",
"templated": false
},
"info": {
"href": "http://localhost:8702/actuator/info",
"templated": false
}
}
}
常用端点说明
常用配置说明
#监控端点
management:
endpoints:
web:
#exposure:
#公开所有端点
#include: "*"
#指定端点监控默认路径
base-path: /actuator
endpoint:
health:
#显示所有健康状态
show-details: always
#配置端点的使用,可以针对某些特定端点
configprops:
enabled: false
#用来关闭应用的端口
shutdown:
enabled: true
#端点监控抬头
info.app.name: v1.0.1
常用端点说明
/beans 获取json格式的bean信息
{
"contexts":{
"application-1":{
//bean列表
"beans":{
//bean的名称
"org.springframework.cloud.netflix.eureka.EurekaDiscoveryClientConfiguration$EurekaClientConfigurationRefresher":Object{...},
"endpointCachingOperationInvokerAdvisor":Object{...},
{ //别名
"aliases":Array[0],
//作用域
"scope":"singleton",
//类型 "type":"org.springframework.cloud.netflix.eureka.EurekaDiscoveryClientConfiguration$EurekaClientConfigurationRefresher$$EnhancerBySpringCGLIB$$ef83a956",
//class物理文件地址
"resource":null,
//当前bean注入的bean
"dependencies":[
"eurekaClient",
"eurekaAutoServiceRegistration"
]
}
/health 应用健康指标
{
"status":"UP",
"details":{
//磁盘信息
"diskSpace":{
//UP表示正常DOWN表示你懂得
"status":"UP",
"details":{
//总共
"total":493921234944,
//可用
"free":469569511424,
"threshold":10485760
}
},
"refreshScope":{
"status":"UP"
},
"discoveryComposite":{
"status":"UP",
"details":{
"discoveryClient":{
"status":"UP",
"details":{
"services":[
"client1-service",
"eureka-service"
]
}
},
"eureka":{
"description":"Remote status from Eureka server",
"status":"UP",
"details":{
"applications":{
"CLIENT1-SERVICE":1,
"EUREKA-SERVICE":2
}
}
}
}
},
"hystrix":{
"status":"UP"
}
}
}
env 查看环境变量
{
"activeProfiles": [],
"propertySources": [
{
//名称
"name": "server.ports",
"properties": {
//内容
"local.server.port": {
"value": 8702
}
}
},
{
"name": "servletContextInitParams",
"properties": {}
},
loggers 查看日志相关信息
{
"levels": [
"OFF",
"ERROR",
"WARN",
"INFO",
"DEBUG",
"TRACE"
],
"loggers": {
"ROOT": {
//打印日志级别
"configuredLevel": "INFO",
"effectiveLevel": "INFO"
},
"com": {
"configuredLevel": null,
"effectiveLevel": "INFO"
},
其他查看docs.spring.io/spring-boot…
自定义健康监测器
@Component
public class MyAppHealthIndicator implements HealthIndicator {
@Override
public Health health() {
//逻辑配置
return Health.down().withDetail("error", "运行错误").build();
}
}
结果:
{
"status": "DOWN",
"details": {
"myApp": {
"status": "DOWN",
"details": {
"error": "运行错误"
}
},