SpringBoot应用程序监控Actuator的使用

简介

Actuator 是 Spring Boot 提供的对应用系统的自省和监控功能,通过 Actuator,可以使用数据化的指标去度量应用的运行情况,比如查看服务器的磁盘、内存、CPU等信息,系统的线程、gc、运行状态等等。

Actuator的使用

引入依赖
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
配置application.yml
# actuator监控
management:
  server:
    # 设置监控服务端口,没有配的话默认是应用端口
    port: 8081
启动应用

访问 localhost:8081/actuator ,结果如下图

可以看出此时只显示了 /health/info 两个端点 ,这是为了程序的安全性考虑,默认只开启这两个端口, 如果想显示所有端口, 可以进行如下配置:

management:
  server:
    port: 8081
  endpoints:
    web:
      exposure:
        include: "*"

如果想自定义端口, 配置如下:

management:
  server:
    port: 8081
  endpoints:
    web:
      exposure:
        include: info,beans,health,env

下面表格列举了Actuator的端点说明:

端点描述
auditevents获取当前应用暴露的审计事件信息
beans获取应用中所有的 Spring Beans 的完整关系列表
caches获取公开可以用的缓存
conditions获取自动配置条件信息,记录哪些自动配置条件通过和没通过的原因
configprops获取所有配置属性,包括默认配置,显示一个所有 @ConfigurationProperties 的整理列版本
env获取所有环境变量
flyway获取已应用的所有Flyway数据库迁移信息,需要一个或多个 Flyway Bean
liquibase获取已应用的所有Liquibase数据库迁移。需要一个或多个 Liquibase Bean
health获取应用程序健康指标(运行状况信息)
httptrace获取HTTP跟踪信息(默认情况下,最近100个HTTP请求-响应交换)。需要 HttpTraceRepository Bean
info获取应用程序信息
integrationgraph显示 Spring Integration 图。需要依赖 spring-integration-core
loggers显示和修改应用程序中日志的配置
logfile返回日志文件的内容(如果已设置logging.file.name或logging.file.path属性)
metrics获取系统度量指标信息
mappings显示所有@RequestMapping路径的整理列表
scheduledtasks显示应用程序中的计划任务
sessions允许从Spring Session支持的会话存储中检索和删除用户会话。需要使用Spring Session的基于Servlet的Web应用程序
shutdown关闭应用,要求endpoints.shutdown.enabled设置为true,默认为 false
threaddump获取系统线程转储信息
heapdump返回hprof堆转储文件
jolokia通过HTTP公开JMX bean(当Jolokia在类路径上时,不适用于WebFlux)。需要依赖 jolokia-core
prometheus以Prometheus服务器可以抓取的格式公开指标。需要依赖 micrometer-registry-prometheus

端点的安全性

对于正在生产环境上运行的程序来说端点是比较敏感的,我们并不希望别人恶意的去访问端点,特别是

/shutdown 这样的端点。

当我们使用 POST 方式请求 /shutdown 时,可以直接将应用关闭,如下图

因此,我们需要通过management.endpoint.shutdown.enabled = false来关闭此端点。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值