转载

Spring Boot Actuator 学习手札

官方文档地址: https://docs.spring.io/spring...

引入依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

Endpoints:

Actuator endpoints 提供对程序监控及互动的相关功能,Spring Boot内置了一些endpoints,用户也可以根据需要创建自定义的endpoints。

内置的endpoints:

auditevents、beans、caches、conditions、configprops、env、flyway、health、httptrace、info、integrationgraph、loggers、liquibase、metrics、mappings、scheduledtasks、sessions、shutdown、threaddump

health endpoint默认映射到/actuator/health。

启用endpoints

management.endpoint.shutdown.enabled=true

关闭所有默认endpoint,单独打开info

management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true

对外暴露endpoints,分为JMX和HTTP(web)

include包含

exclude排除

management.endpoints.jmx.exposure.exclude
management.endpoints.jmx.exposure.include
management.endpoints.web.exposure.exclude
management.endpoints.web.exposure.include

jmx方式打开health info

management.endpoints.jmx.exposure.include=health,info

web排除env beans,其余打开

management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans

实现自定义endpoint

一个类加上@Bean @Endpoint标签,类里面的任何方法加上@ReadOperation/@WriteOperation/@DeleteOperation,都会通过JMX和HTTP对外暴露。

(

@ReadOperation对应HTTP GET

@WriteOperation对应HTTP POST

@DeleteOperation对应HTTP DELETE

)

不使用硬编码,编译时根据环境配置属性

info.app.encoding=@project.build.sourceEncoding@
info.app.java.source=@java.version@
info.app.java.target=@java.version@
原文  https://segmentfault.com/a/1190000021278569
正文到此结束
Loading...