转载

Spring Boot Actuator端点详解

Spring Boot Actuator提供了生产上经常用到的功能(如健康检查,审计,指标收集,HTTP跟踪等),帮助我们监控和管理Spring Boot应用程序。这些功能都可以通过JMX或HTTP端点访问。

通过引入相关的依赖,即可监控我们的应用程序,收集指标、了解流量或数据库的状态变得很简单。该库的主要好处是我们可以获得生产级工具,而无需自己实际实现这些功能。与大多数Spring模块一样,我们可以通过多种方式轻松配置或扩展它。

Actuator还可以与外部应用监控系统集成,如Prometheus,Graphite,DataDog,Influx,Wavefront,New Relic等等。 这些系统为您提供出色的仪表板,图形,分析和警报,以帮助我们在一个统一界面监控和管理应用服务。

本文将会介绍Spring Boot 1.x Actuator和Spring Boot 2.x Actuator,重点介绍最新的2.x版本的Actuator,包括其中的端点、配置管理以及扩展和自定义端点。

快速开始

引入如下的依赖:

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

Spring Boot 1.x Actuator

在1.x中,Actuator遵循读写模型,这意味着我们可以从中读取信息或写入信息。我们可以检索指标或我们的应用程序的健康状况,当然我们也可以优雅地终止我们的应用程序或更改我们的日志配置。Actuator通过Spring MVC暴露其HTTP端点。

端点

当引入的Actuator的版本为1.x时,启动应用服务,可以控制台输出如下的端点信息:

Spring Boot Actuator端点详解

我们介绍一下常用的endpoints:

  • /health:显示应用程序运行状况信息(通过未经身份验证的连接访问时的简单“状态”或经过身份验证时的完整消息详细信息),它默认不敏感
  • /info:显示任意应用程序信息,默认情况下不敏感
  • /metrics:显示当前应用程序的“指标”信息,它默认也很敏感
  • /trace:显示跟踪信息(默认情况下是最后几个HTTP请求)

有些端点默认并不会被开启,如/shutdown。

配置端点

我们可以自定义每个端点的属性,按照如下的格式:

endpoints.[endpoint name].[property to customize]

可以自定义的属性有如下三个:

  • id,暴露的http端点地址
  • enabled,是否开启
  • sensitive,当为true时,需要认证之后才会通过http获取到敏感信息

我们在配置文件中增加如下的配置,将会定制/beans端点。

endpoints.beans.id=springbeans
endpoints.beans.sensitive=false
endpoints.beans.enabled=true
原文  http://blueskykong.com/2018/11/16/actuator-1/
正文到此结束
Loading...