《Spring Cloud微服务架构进阶》——3.3.8 Actuator

举报
华章计算机 发表于 2019/06/03 02:04:31 2019/06/03
【摘要】 本书摘自《Spring Cloud微服务架构进阶》——书中的第3章,第3.3.8节作者是朱荣鑫、张天、黄迪璇。

3.3.8 Actuator

Spring Boot提供了一系列额外的特性来帮助开发者监控和管理生产环境中的Spring Boot应用。通过引入spring-boot-actuator模块,审计、健康检查和度量收集等监控功能都将会自动配置到Spring Boot应用中,最简单的方式是直接引入相关模块的Starter,如下所示:

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

Actuator的端点能够使开发者监控应用和与应用进行交互,Spring Boot中包含了一系列内置的端点,同时也允许自定义端点。每一个端点都能够独立决定开启还是关闭。为了可以进行远程调用,这些端点需要暴露到HTTP中或者JMX中。当采用HTTP的方式时,这些端点通常会配置在/actuator的前缀之后,例如health端点的地址为/actuator/health(这是Spring Boot 2.0之后的改动,之前的版本中端点地址不包含/actuator前缀)。表3-1列出了Actuator提供的相关端点。

表3-1 Actuator提供的端点

image.png

image.png

开启端点可以通过management.endpoint.<id>.enabled的方式进行配置,通过id对特定的端点进行操作,如下所示:

management:

    endpoint:

        shutdown:

            enabled: true

通过上面的配置,开启了shutdown端点。可以通过mangement.endpoints.enabled-by-default=true统一开启和关闭端点。

即使端点已经开启,大多数端点是通过JMX的方式暴露出去的,通过HTTP暴露出来的端点默认仅有/health和/info,可以通过management.endpoints.<method>.exposure.exclude和management.endpoints.<method>.exposure.include的配置,来指定JMX和HTTP需要暴露的端点,如下所示:

management:

    endpoints:

        jmx:

            exposure:

                exclude:

                include: *

        web:

            exposure:

                exclude:

                include: info, health, beans

上面的配置中,JMX暴露所有的端点(*表示通配符,用来选择所有的端点),HTTP仅暴露/info、/health、/beans三个端点。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。