当前位置:首页 > 科技  > 软件

一文带你了解Spring Actuator

来源: 责编: 时间:2023-11-08 09:10:57 181观看
导读服务监控Spring Boot Actuator是一个用于监控和管理Spring Boot应用的子项目,它提供了一组REST端点和命令行工具, 用于查看应用的运行状态、性能指标和健康状况等。Actuator还支持应用度量数据的导出,以及自定义端点和安

服务监控

Spring Boot Actuator是一个用于监控和管理Spring Boot应用的子项目,它提供了一组REST端点和命令行工具, 用于查看应用的运行状态、性能指标和健康状况等。Actuator还支持应用度量数据的导出,以及自定义端点和安全控制等功能。通过使用Spring Boot Actuator,开发人员可以更加方便地了解应用的运行状况,及时发现和解决问题。SmT28资讯网——每日最新资讯28at.com

概述

随着微服务架构的普及,Spring Boot 已经成为Java开发人员的首选框架。然而,随着应用的规模不断扩大, 如何有效地监控和管理这些应用成为一个重要的问题。Spring Boot Actuator的出现,为开发人员提供了一个解决方案。本文将详细介绍Spring Boot Actuator的功能、工作原理、使用场景以及应用示例,帮助读者更好地理解和掌握这一工具。SmT28资讯网——每日最新资讯28at.com

功能简介

  • 应用度量数据的导出:Actuator 可以将应用的运行数据导出到各种不同的存储后端,例如 Prometheus、Datadog、New Relic 等。这样,开发人员可以方便地使用这些数据来监控应用的性能和健康状况。
  • REST 端点:Actuator 提供了一组 REST 端点,用于查看应用的运行状态、健康状况、度量数据等信息。开发人员可以通过 HTTP 请求来获取这些数据,并使用各种工具进行可视化展示。
  • 命令行工具:除了 REST 端点之外,Actuator 还提供了一些命令行工具,例如 spring-boot-cli 和 spring-boot-admin。这些工具可以让开发人员更方便地管理和监控应用。
  • 自定义端点:Actuator 支持自定义端点的开发,让开发人员可以根据自己的需求来暴露自定义的监控数据。这样可以更灵活地监控和管理应用。
  • 安全控制:Actuator 支持对监控端点的安全控制,例如限制访问权限、身份验证等。这样可以保护应用的敏感信息不被泄露。

Spring-Actuator

默认监控服务

服务端点
SmT28资讯网——每日最新资讯28at.com

描述
SmT28资讯网——每日最新资讯28at.com

auditevents
SmT28资讯网——每日最新资讯28at.com

公开当前应用程序的审核事件信息。
SmT28资讯网——每日最新资讯28at.com

beans
SmT28资讯网——每日最新资讯28at.com

显示应用程序中所有Spring bean的完整列表。
SmT28资讯网——每日最新资讯28at.com

caches
SmT28资讯网——每日最新资讯28at.com

公开可用的缓存
SmT28资讯网——每日最新资讯28at.com

conditions
SmT28资讯网——每日最新资讯28at.com

显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因。
SmT28资讯网——每日最新资讯28at.com

configprops
SmT28资讯网——每日最新资讯28at.com

显示所有@ConfigurationProperties的有序列表。
SmT28资讯网——每日最新资讯28at.com

env
SmT28资讯网——每日最新资讯28at.com

公开Spring的ConfigurableEnvironment中的属性
SmT28资讯网——每日最新资讯28at.com

flyway
SmT28资讯网——每日最新资讯28at.com

显示已应用的任何Flyway数据库迁移。
SmT28资讯网——每日最新资讯28at.com

health
SmT28资讯网——每日最新资讯28at.com

显示应用健康信息。
SmT28资讯网——每日最新资讯28at.com

httptrace
SmT28资讯网——每日最新资讯28at.com

显示HTTP跟踪信息(默认情况下,最后100个HTTP请求 – 响应交换)。
SmT28资讯网——每日最新资讯28at.com

info
SmT28资讯网——每日最新资讯28at.com

显示任意应用信息。
SmT28资讯网——每日最新资讯28at.com

integrationgraph
SmT28资讯网——每日最新资讯28at.com

显示Spring集成图。
SmT28资讯网——每日最新资讯28at.com

loggers
SmT28资讯网——每日最新资讯28at.com

显示和修改应用程序中日志记录器的配置。
SmT28资讯网——每日最新资讯28at.com

liquibase
SmT28资讯网——每日最新资讯28at.com

显示已应用的任何Liquibase数据库迁移。
SmT28资讯网——每日最新资讯28at.com

metrics
SmT28资讯网——每日最新资讯28at.com

显示当前应用程序的“指标”信息。
SmT28资讯网——每日最新资讯28at.com

mappings
SmT28资讯网——每日最新资讯28at.com

显示所有@RequestMapping路径的有序列表。
SmT28资讯网——每日最新资讯28at.com

scheduledtasks
SmT28资讯网——每日最新资讯28at.com

显示应用程序中的计划任务。
SmT28资讯网——每日最新资讯28at.com

sessions
SmT28资讯网——每日最新资讯28at.com

允许从Spring Session支持的会话存储中检索和删除用户会话。使用Spring Session对响应式Web应用程序的支持时不可用。
SmT28资讯网——每日最新资讯28at.com

shutdown
SmT28资讯网——每日最新资讯28at.com

允许应用程序正常关闭。
SmT28资讯网——每日最新资讯28at.com

http://localhost:8080/actuatorSmT28资讯网——每日最新资讯28at.com

  • 依赖
<dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-actuator</artifactId>    </dependency>
  • 配置
management:  endpoints:    web:      exposure:#        [health, info]        include: "*"
  • 自定义监控

监控端点相关注解:SmT28资讯网——每日最新资讯28at.com

  • @Endpoint:定义一个监控端点,同时支持HTTP和JMX两种方式。
  • @WebEndpoint:定义一个监控端点,只支持HTTP方式。
  • @JmxEndpoint:定义一个监控端点,只支持JMX方式。
  • @ReadOperation:作用在方法上,可用来返回端点展示的信息(通过 Get 方法请求)。
  • @WriteOperation:作用在方法上,可用来修改端点展示的信息(通过 Post 方法请求)。
  • @DeleteOperation:作用在方法上,可用来删除对应端点信息(通过 Delete 方法请求)。
  • @Selector:作用在参数上,用来定位一个端点的具体指标路由。

自定义一个端点服务:SmT28资讯网——每日最新资讯28at.com

@Endpoint(id = "custom")public class CustomEndpoint {  /**   * /actuator/custom   */  @ReadOperation  public Map custom() {    return new HashMap();  }  /**   * /actuator/custom/{name}?value={value}   */  @ReadOperation  public Map name(@Selector String name, @Nullable String value) {    return new HashMap();  }}

Spring-Admin

Spring-Actuator主要实现数据的采集,以及提供REST API以及JMX的访问渠道,那么数据具体如何友好地显示出来?这时我们需要对应的UI,其中spring-boot-admin就是这样一款工具。SmT28资讯网——每日最新资讯28at.com

http://localhost:8080/applicationsSmT28资讯网——每日最新资讯28at.com

  • 服务端
<dependency>        <groupId>de.codecentric</groupId>        <artifactId>spring-boot-admin-starter-server</artifactId>    </dependency>
@EnableAdminServerpublic class Application{   }
  • 客户端
<dependency>        <groupId>de.codecentric</groupId>        <artifactId>spring-boot-admin-starter-client</artifactId>        <version>2.6.2</version>    </dependency>

客户端配置SmT28资讯网——每日最新资讯28at.com

spring:  boot:    admin:      client:        url: http://localhost:8080

Prometheus + Grafana

上面说到,Actuator除了采集指标,提供访问API外,还提供了“应用度量数据的导出”的功能,这样就能将我们采集到的指标输出到指定的存储服务或终端以便进一步分析。其中Prometheus就是这样一个应用。SmT28资讯网——每日最新资讯28at.com

  • Prometheus 时序数据库,用于存储数据,提供并提供查询,它存储了计算机系统在各个时间点上的监控数据
  • Grafana 仪表盘,提供监控指标可视化界面。
  • 依赖
<dependency>    <groupId>io.micrometer</groupId>    <artifactId>micrometer-registry-prometheus</artifactId></dependency>
  • 配置
management:  endpoints:    web:      exposure:        include: "*"  metrics:    export:      prometheus:        enabled: true  prometheus:    enabled: true
  • prometheus配置
scrape_configs:  - job_name: 'spring-boot-actuator'    metrics_path: '/actuator/prometheus'    static_configs:      - targets: ['localhost:8080'] # 使用你的Spring Boot应用程序的实际主机和端口替换
  • 启动
prometheus.exe --config.file=prometheus.ymlgrafana-server.exe

由于篇幅有限,关于Grafana如何集成Prometheus,网上有很多具体实践,这里不重复赘述...SmT28资讯网——每日最新资讯28at.com

问题

  • 服务端点

由于项目使用spring-boot版本为2.3.7.RELEASE,而spring-boot-admin-starter-server版本设置设置为2.7.x版本时,UI相关配置一直无法加载,通过源码可以看到SmT28资讯网——每日最新资讯28at.com

在2.6.x版本中对应spring-boot-admin-server-ui存在META-IN/spring.factories文件SmT28资讯网——每日最新资讯28at.com

org.springframework.boot.autoconfigure.EnableAutoConfiguration=/  de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration

而在2.7.x版本中,spring.factories删除了且改为了 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.importsSmT28资讯网——每日最新资讯28at.com

de.codecentric.boot.admin.server.ui.config.AdminServerUiAutoConfiguration

因此如果需要使用2.7.x版本的spring-boot-admin,记得把spring-boot升级到2.7.xSmT28资讯网——每日最新资讯28at.com

  • 参数名称

参数名称被解析为arg0,导致请求匹配失败。通过下面的配置保证编译后的文件通过反射获取的参数名称不变SmT28资讯网——每日最新资讯28at.com

<plugin>          <groupId>org.apache.maven.plugins</groupId>          <artifactId>maven-compiler-plugin</artifactId>          <version>3.11.0</version>          <configuration>              <debug>false</debug>              <!-- 防止方法参数名解析为arg0...  -->              <compilerArgs>                  <arg>-parameters</arg>              </compilerArgs>          </configuration>      </plugin>

如果使用Idea,你可以在应用启动后,Actuator功能面板的Mappings中看到服务地址的变化SmT28资讯网——每日最新资讯28at.com

结束语

服务监控是为了更好的了解服务运行状况,及时发现服务可能出现的问题,并在出现故障时能够有效的定位问题产生的原因。更大层面解决系统运行过程中的维护 成本。关于监控相关的应用还有一些,比如SkyWalking、Zipkin、Elastic APM等等。SmT28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-17662-0.html一文带你了解Spring Actuator

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 不吃饭也要掌握的Synchronized锁升级过程

下一篇: 解析几何:计算两条线段的交点

标签:
  • 热门焦点
  • K60 Pro官方停产 第三方瞬间涨价

    K60 Pro官方停产 第三方瞬间涨价

    虽然没有官方宣布,但Redmi的一些高管也已经透露了,Redmi K60 Pro已经停产且不会补货,这一切都是为了即将到来的K60 Ultra铺路,属于厂家的正常操作。但有意思的是该机在停产之后
  • 官方承诺:K60至尊版将会首批升级MIUI 15

    官方承诺:K60至尊版将会首批升级MIUI 15

    全新的MIUI 15今天也有了消息,在官宣了K60至尊版将会搭载天玑9200+处理器和独显芯片X7的同时,Redmi给出了官方承诺,K60至尊重大更新首批升级,会首批推送MIUI 15。也就是说虽然
  • 石头自清洁扫拖机器人G10S评测:多年黑科技集大成之作 懒人终极福音

    石头自清洁扫拖机器人G10S评测:多年黑科技集大成之作 懒人终极福音

    科技圈经常能看到一个词叫“缝合怪”,用来形容那些把好多功能或者外观结合在一起的产品,通常这样的词是贬义词,但如果真的是产品缝合的好、缝合的实用的话,那它就成了中性词,今
  • 5月安卓手机好评榜:魅族20 Pro夺冠

    5月安卓手机好评榜:魅族20 Pro夺冠

    性能榜和性价比榜之后,我们来看最后的安卓手机好评榜,数据来源安兔兔评测,收集时间2023年5月1日至5月31日,仅限国内市场。第一名:魅族20 Pro好评率:97.50%不得不感慨魅族老品牌还
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 得物宠物生意「狂飙」,发力“它经济”

    得物宠物生意「狂飙」,发力“它经济”

    作者|花花小萌主近日,得物宣布正式上线宠物鉴别,通过得物App内的&ldquo;在线鉴别&rdquo;,可找到鉴别宠物的选项。通过上传自家宠物的部位细节,就能收获拥有专业资质认证的得物鉴
  • 大厂卷向扁平化

    大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 华为Mate60标准版细节曝光:经典星环相机模组回归

    华为Mate60标准版细节曝光:经典星环相机模组回归

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • DRAM存储器10月价格下跌,NAND闪存本月价格与上月持平

    DRAM存储器10月价格下跌,NAND闪存本月价格与上月持平

    10月30日,据韩国媒体消息,自今年年初以来一直在上涨的 DRAM 存储器的交易价格仅在本月就下跌了近 10%,此次是全年首次降价,而NAND 闪存本月价格与上月持平。市
Top
Baidu
map