专栏名称: 码农小胖哥
技术公众号:码农小胖哥
目录
相关文章推荐
51好读  ›  专栏  ›  码农小胖哥

Spring Boot 2.x 中的 Actuator

码农小胖哥  · 掘金  ·  · 2019-09-11 08:29

正文

阅读 91

Spring Boot 2.x 中的 Actuator

1. 前言

Spring Boot 提供了很多开箱即用的starter,其中有一款非常特别的starter——actuator 。它是用来对Spring Boot 应用进行监控、指标采集、管理,并提供一些很有用的端点(endpoint)来实现上述功能。这有助于我们对Spring Boot 应用进行监视和管理。我们本文将探讨Spring Boot 2.x下的actuator的一些知识点。

2. 集成

像其它starter一样,通过非常简单的依赖集成即可开箱即用。我们通过在项目中引入(以maven为例):

     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
     </dependency>
复制代码

3. endpoints

Actuator的核心是端点(endpoint),我们通过端点来获取应用的一些监控信息或者通过端点来改变系统的一些状态。Actuator中内置了非常多的端点:

id 描述 默认是否启用
auditevents 显示当前应用程序的审计事件信息 Yes
beans 显示应用Spring Beans的完整列表 Yes
caches 显示可用缓存信息 Yes
conditions 显示自动装配类的状态及及应用信息 Yes
configprops 显示所有 @ConfigurationProperties 列表 Yes
env 显示 ConfigurableEnvironment 中的属性 Yes
flyway 显示 Flyway 数据库迁移信息 Yes
health 显示应用的健康信息(未认证只显示status,认证显示全部信息详情) Yes
info 显示任意的应用信息 Yes
liquibase 展示Liquibase 数据库迁移 Yes
metrics 展示当前应用的 metrics 信息 Yes
mappings 显示所有 @RequestMapping 路径集列表 Yes
scheduledtasks 显示应用程序中的计划任务 Yes
sessions 允许从Spring会话支持的会话存储中检索和删除用户会话。 Yes
shutdown 允许应用以优雅的方式关闭(默认情况下不启用) No
threaddump 执行一个线程dump Yes
httptrace 显示HTTP跟踪信息(默认显示最后100个HTTP请求 - 响应交换) Yes
heapdump 返回一个GZip压缩的hprof堆dump文件 Yes
prometheus Prometheus服务器抓取的格式显示metrics信息 Yes

3.1 启用与关闭

默认情况下除了 shutdown 是关闭的其它端点都是启用的。个别端点的启用依赖其他组件,比如我们上篇文章介绍的Prometheus。我们可以在Spring Boot 配置文件中通过配置(id参见上表) management.endpoint.<id>.enabled 来配置端点是否启用。

另外我们可以通过 management.endpoints.enabled-by-default 来修改全局端口默认配置,以下示例启用info端点并禁用所有其他端点:

# 先设置所有的端点默认为关闭
management.endpoints.enabled-by-default=false
# 然后开启info 端点
management.endpoint.info.enabled=true
复制代码

3.2 开放与封闭

特别需要我们注意的是,以上只是我们开启的端点功能,并不意味我们把这些端点暴露给应用之外的环境中去。暴露的配置规则是 management.endpoints.<web|jmx>.exposure.<include|exclude> 我们以web为例,通过以下方式来暴露web端点:

#  * 为暴露所有web端点,如果暴露的是一个列表请使用端点 id 并以逗号隔开 
management.endpoints.web.exposure.include='*'
复制代码






请到「今天看啥」查看全文


推荐文章
猎奇漫画部  ·  【杀手古德】选择 简直不要太污!
8 年前
午夜漫画站  ·  幻啃漫画:奖励
7 年前
历史震惊你  ·  拿什么感谢你,我的孩子(感人至深)
7 年前