Spring boot监控-actuator

一、概述
     Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助我们监控和管理Spring Boot 应用。作为线上服务是否正常,故障的监控工具。
     此功能采用内部信息暴露给外部,因此可以和一些监控系统进行整合,如普罗米修斯(prometheus)。这些监控系统提供了良好的仪表盘,图形,分析数据和警报通知,可以帮助我们建立一个有好的界面,监视和管理我们的应用程序。
     Actuator使用Micrometer与这些外部应用程序监视系统集成。这样一来,只需很少的配置即可轻松集成外部的监控系统
     Micrometer 为Java平台数据收集提供一个通用性API,应用程序只需要使用 Micrometer 的通用 API 来收集性能指标。Micrometer 会负责完成与不同监控系统的适配工作。使得我们不同监控系统的指标切换就容易很多
二、应用集成Actuator
1、pom文件

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

     spring boot 在运行的时候,会开启/actuator/health和/actuator/info 这两个endpoint。根据这两个节点就可以查看应用的运行情况。
     但是因为安全因素,需要我们单独设置才能打开其他的endpoint。
http://localhost:8099/actuator 查看暴露出来的端点:
在这里插入图片描述
三、Endpoints
     1、Spring Boot 提供了所谓的 endpoints (下文翻译为端点)给外部来与应用程序进行访问和交互。
     打比方来说,/health 端点 提供了关于应用健康情况的一些基础信息。metrics 端点提供了一些有用的应用程序指标(JVM 内存使用、系统CPU使用等)。
     2、这些 Actuator 模块本来就有的端点我们称之为原生端点。根据端点的作用的话,我们大概可以分为三大类:
     应用配置类: 获取应用程序中加载的应用配置、环境变量、自动化配置报告等与Spring Boot应用密切相关的配置类信息。
     度量指标类: 获取应用程序运行过程中用于监控的度量指标,比如:内存信息、线程池信息、HTTP请求统计等。
     操作控制类: 提供了对应用的关闭等操作类功能。
     3、每一个端点都可以通过配置来单独禁用或者启动
     Actuator 2.x 中的默认端点增加了/actuator前缀。默认暴露的两个端点为/actuator/health和 /actuator/info
     4、Actuator 提供的所有 endpoint:
此处使用的是 SpringBoot 2.3.0 版本,官方文件
在这里插入图片描述
在这里插入图片描述
四、端点配置

  • 默认暴露
    我们可以通过以下配置,来配置通过JMX 和 HTTP 暴露的端点。
    在这里插入图片描述
    因为安全的因素,所以 Actuator 只会放开/actuator/health和/actuator/info这两个 endpoint,如果要开放其他 endpoint 的话,需要额外在 application.properties 中做设置。

# 可以這樣寫,就會開啟所有endpoints(不包含shutdown)
management.endpoints.web.exposure.include=*

# 也可以這樣寫,就只會開啟指定的endpoint,因此此處只會再額外開啟/actuator/beans和/actuator/mappings
management.endpoints.web.exposure.include=beans,mappings

# exclude可以用來關閉某些endpoints
# exclude通常會跟include一起用,就是先include了全部,然後再exclude /actuator/beans這個endpoint
management.endpoints.web.exposure.exclude=beans
management.endpoints.web.exposure.include=*

# 如果要開啟/actuator/shutdown,要額外再加這一行
management.endpoint.shutdown.enabled=true
  • 路径映射
    默认情况下所有端点都暴露在“/actuator”路径下,也可以改變/actuator的路徑,可以自定義成自己想要的:

#這樣寫的話,原本內建的/actuator/xxx路徑,都會變成/manage/xxx,可以用來防止被其他人猜到
management.endpoints.web.base-path=/manage
#同时可以将health修改成healthcheck
management.endpoints.web.path-mapping.health=healthcheck

  • 管理端口调整

#指定端口,默认跟server.port一样,可以防止被其他人猜到
management.server.port=10111

  • 端点响应缓存

对于一些不带参数的端点请求会自动进行缓存,我们可以通过如下方式配置缓存时间,下面配置表示 beans 端点的缓存时间为 100s
management.endpoint.beans.cache.time-to-live=100s

余下详情请访问:Spring boot监控——Actuator 详解

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值