SpringBoot集成Actuator端点配置1.说明
Actuator端点可以监控应⽤程序并与之交互。
Spring Boot包括许多内置的端点,
⽐如health端点提供基本的应⽤程序运⾏状况信息,
并允许添加⾃定义端点。
可以控制每个单独的端点启⽤或禁⽤,
也可以通过include和exclude属性通配,
这会影响端点的Bean创建。
要远程访问端点,还必须通过JMX或HTTP公开。
⼤多数应⽤程序选择HTTP⽅式对外开放,
其中/actuator前缀和端点的ID组成了对外暴露的URL。
⽐如默认情况下,health端点映射到/actuator/health。
本⽂主要介绍通过HTTP进⾏监控和管理。
2.⽀持的端点
以下是与技术⽆关的端点:
ID描述
auditevents公开当前应⽤程序的审核事件信息。
beans显⽰应⽤程序中所有Spring bean的完整列表。
caches公开可⽤的缓存。
conditions显⽰在配置和⾃动配置类上评估的条件,以及它们匹配或不匹配的原因。configprops显⽰所有@ConfigurationProperties的整理列表。
env从Spring的ConfigurableEnvironment中公开属性。
flyway显⽰已应⽤的所有Flyway数据库迁移。
health显⽰应⽤程序运⾏状况信息。
httptrace显⽰HTTP跟踪信息(默认情况下,记录最后100个HTTP请求-响应)。
info显⽰任意应⽤程序信息。
integrationgr
aph
显⽰Spring集成图。
loggers显⽰和修改应⽤程序中⽇志记录器的配置。
liquibase显⽰已应⽤的任何Liquibase数据库迁移。
metrics显⽰当前应⽤程序的"度量"信息。
mappings显⽰所有@RequestMapping路径的整理列表。
scheduledtas
spring mvc和boot区别
ks
显⽰应⽤程序中的计划任务。
sessions 允许从⽀持Spring Session的会话存储中检索和删除⽤户会话。在使⽤Spring Session对反应式web应⽤程序的⽀持时不可⽤。
shutdown允许优雅地关闭应⽤程序。
threaddump执⾏线程转储。
ID描述
如果你的应⽤程序是 web 应⽤程序(Spring MVC、Spring WebFlux或Jersey),则可以使⽤以下附加端点:ID描述
heapdum
p
返回hprof堆转储⽂件。
jolokia通过HTTP公开JMX bean(当Jolokia在类路径上时,WebFlux不可⽤)。
logfile 返回⽇志⽂件的内容(如果已设置logging.file或logging.path属性)。⽀持使⽤ HTTP Range 头来检索
⽇志⽂件的部分内容。
Ye
s
promethe
us
以Prometheus服务器可以抓取的格式公开度量。
3.默认公开端点
由于端点可能包含敏感信息,
因此要仔细考虑何时公开它们。
下表显⽰了内置端点对于JMX或HTTP,
是否默认对外公开的情况:
ID JMX HTTP auditevents Yes No
beans Yes No
caches Yes No
conditions Yes No
configprops Yes No
env Yes No
flyway Yes No
health Yes Yes
heapdump N/A No
httptrace Yes No
info Yes Yes integrationgraph Yes No
jolokia N/A No
logfile N/A No
loggers Yes No
liquibase Yes No
metrics Yes No
mappings Yes No