- 1、基本使用
引入starter
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
application.yml文件
management:
endpoints:
enabled-by-default: true #默认暴露所有
web:
exposure:
include: '*' #web方式暴露
endpoint:
health:
show-details: always
常用的endpoint有 health info metrics loggers
自定义添加health子项目的步骤(书写MyWebHealthIndicator )
@Component
public class MyWebHealthIndicator extends AbstractHealthIndicator {
@Override
protected void doHealthCheck(Health.Builder builder) throws Exception {
if(true){
builder.up();
}else{
builder.down();
}
builder.withDetail("gaojl","now nb!");
}
}
自定义添加info子项目步骤
@Component
public class MyownInfoConttributor implements InfoContributor {
@Override
public void contribute(Info.Builder builder) {
builder.withDetail("haha","heihei");
}
}
自定义metrics子项目
@Controller
public class HelloController {
Counter counter;
public HelloController(MeterRegistry meterRegistry){
counter = meterRegistry.counter("HelloController.sql.count");
}
}
- 2、定制监控端点
@Component
@Endpoint(id="gaojlEndPoint")
public class MyEndPoint {
@ReadOperation
public Map getGaojlInfo(){
Map<String,String> map = new HashMap<>();
map.put("gaojl","niub!");
return map;
}
@WriteOperation
public void writeInfo(){
System.out.println("gaojl bu nb!");
}
}
3、Boot admin server的使用
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.3.1</version>
</dependency>