SpringBoot-开启Actuator监控

Spring Boot Actuator是Spring Boot提供的一种管理和监控应用程序的框架,可以帮助我们了解应用程序的运行状况,提供HTTP端点来暴露应用程序的不同方面,如健康状况、指标、日志和运行时信息等。

开启Actuator监控,我们可以通过HTTP端点获取应用程序的详细信息,包括健康状况、指标、日志和运行时信息等。方便我们进行监控和诊断。Spring Boot Actuator提供了多种端点,可以通过配置文件或代码来启用和定制端点。

通过开启Actuator监控以下是在Spring Boot应用程序中开启Actuator监控的详细步骤:

一、pom.xml添加Actuator依赖项

首先,在pom.xml文件中添加Actuator依赖项。这可以通过以下配置完成:

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

然后,刷新Maven项目以更新相关的jar包。


二、配置Actuator端点路径

application.ymlapplication.properties中配置Actuator端点的路径。

以下是一个配置的例子:

management:endpoints:jmx:exposure:include: '*'web:exposure:include: '*'exclude: configprops# 排除对配置信息的监控,每次浏览这个节点的时候,# 数据库的链接就一直释放不掉, 最后导致超时,因为配置信息的监控也不重要,#enabled-by-default: trueinfo:env:enabled: trueendpoint:health:show-details: always

通过这个配置,我们可以定制Actuator的端点,包括JMX和Web端点的暴露。在这里,我们使用通配符 '*' 包含所有端点,但排除了 configprops


三、启动项目访问Actuator端点

启动Spring Boot应用程序,并访问Actuator端点,地址通常为:

http://localhost:8080/actuator

访问成功结果应为下图:

访问成功,Actuator开启完成。

成功访问后,Actuator监控就已经成功开启。现在,我们可以通过HTTP端点获取应用程序的各种信息,为我们日常对项目的监控和诊断提供了便利。


四、开启Actuator监控的好处

开启Spring Boot Actuator监控带来了许多好处,使得应用程序的管理和监控更加方便有效。以下是一些开启Spring Boot Actuator监控的好处:

  • 实时监控应用健康状况:Actuator提供了健康状况端点,可以通过HTTP请求实时获取应用程序的健康状况,包括内存使用情况、线程情况、数据库连接情况等。
  • 性能指标监控:通过Actuator的指标端点,可以获取应用程序的性能指标,包括内存使用率、GC活动、线程池状态等,帮助开发者及时发现和解决性能问题。
  • 日志级别动态调整:Actuator提供了日志级别的端点,可以通过HTTP请求动态调整应用程序的日志级别,方便调试和排查问题,而无需重新部署应用。
  • 运行时信息查看:Actuator的info端点提供了应用程序的运行时信息,包括自定义信息、环境变量等,帮助开发者更全面地了解应用程序的运行环境。
  • 端点定制与扩展:可以通过配置文件或代码定制和扩展Actuator的端点,根据实际需求选择性地开启或关闭某些端点,以及添加自定义端点,提高灵活性。
  • 与监控工具集成:Actuator提供了与多种监控工具(如Prometheus、Grafana等)的集成支持,可以将监控数据导入到这些工具中进行更强大的可视化和分析。
  • 异常端点:Actuator的`/actuator/dump`端点提供了当前线程的栈追踪,有助于诊断应用程序的异常情况。
  • 应用信息暴露:可以通过Actuator端点暴露应用程序的元数据信息,例如Git提交信息、构建时间等,有助于更好地管理应用的版本信息。

总体而言,开启Spring Boot Actuator监控为开发者提供了丰富的应用程序信息和管理工具,有助于更好地监测、调试和维护应用程序,提高了开发和运维的效率。


五、代码实例演示

下面我们做一个代码示例的演示:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@SpringBootApplication
public class ActuatorDemoApplication {public static void main(String[] args) {SpringApplication.run(ActuatorDemoApplication.class, args);}
}@RestController
class HelloController {@GetMapping("/hello")public String hello() {return "Hello, Actuator Demo!";}
}

在这个简单的 Spring Boot 应用中,我们定义了一个 HelloController 控制器,提供了一个简单的 /hello 接口返回 "Hello, Actuator Demo!"。接下来,我们需要在 pom.xml 文件中添加 Actuator 的依赖:

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

然后,在 application.propertiesapplication.yml 文件中配置 Actuator 的端点:

management:endpoints:web:exposure:include: '*'

上述配置中的 exposure.include: '*' 表示开放所有的 Actuator 端点。在实际生产环境中,可能需要更具体的配置。

启动应用后,我们可以通过以下地址访问 Actuator 的端点:

  • http://localhost:8080/actuator/health:查看应用的健康状况。
  • http://localhost:8080/actuator/metrics:查看应用的指标信息。
  • http://localhost:8080/actuator/loggers:查看和修改应用的日志配置。
  • http://localhost:8080/actuator/info:查看应用的信息。

这个例子演示了如何在 Spring Boot 应用中使用 Actuator 进行监控和管理。当然,Actuator 还提供了更多的端点和功能,具体的使用可以根据实际需求进行配置和扩展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/606988.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hyperledger Fabric 核心概念与组件

要理解超级账本 Fabric 的设计&#xff0c;首先要掌握其最基本的核心概念与组件&#xff0c;如节点、交易、排序、共识、通道等。 弄清楚这些核心组件的功能&#xff0c;就可以准确把握 Fabric 的底层运行原理&#xff0c;深入理解其在架构上的设计初衷。知其然&#xff0c;进…

回顾2023编程之旅

一、前言 看在给了我一个博客专家的份上就继续写写博客&#xff0c;实事求是的讲如果是工作之余去总结csdn写写技术博客&#xff0c;还想混个专家什么的&#xff0c;真的是精力不够。因为里面的灌水的实在太多&#xff0c;比不过的&#xff0c;写这个玩意必须得淡泊名利才能悠然…

【车载以太网测试从入门到精通】——DoIP协议测试

系列文章目录 【车载以太网测试从入门到精通】系列文章目录汇总 文章目录 系列文章目录一、DoIP首部否定响应测试1.0x00格式错误2.0x01未知的负载类型3.0x02报文过长4.0x03超出内存5.0x04无效的负载长度二、车辆识别测试1.车辆声明2.车辆识别请求3.带EID的车辆识别请求4.带VIN…

部署一款开源的交互审计系统—Next Terminal

博客地址 部署一款开源的交互审计系统—Next Terminal-雪饼 (xue6ing.cn)https://xue6ing.cn/archives/bu-shu-yi-kuan-kai-yuan-de-jiao-hu-shen-ji-xi-tong--next-terminal Next Terminal是什么&#xff1f; Next Terminal是一个开源的交互审计系统&#xff0c;具有以下主…

控制台console

js控制台打印 console.log()和console.group() console.group()指的是消息组的开始&#xff0c;在此之后的所有消息将写进该消息组中&#xff0c; console.groupEnd()指的是该消息组的结束&#xff0c;

SpringBoot请求参数加密、响应参数解密

SpringBoot请求参数加密、响应参数解密 1.说明 在项目开发工程中&#xff0c;有的项目可能对参数安全要求比较高&#xff0c;在整个http数据传输的过程中都需要对请求参数、响应参数进行加密&#xff0c;也就是说整个请求响应的过程都是加密处理的&#xff0c;不在浏览器上暴…

40道java集合面试题含答案(很全)

点击下载《40道java集合面试题含答案&#xff08;很全&#xff09;》 1. 什么是集合 集合就是一个放数据的容器&#xff0c;准确的说是放数据对象引用的容器集合类存放的都是对象的引用&#xff0c;而不是对象的本身集合类型主要有3种&#xff1a;set(集&#xff09;、list(列…

Unity文字转语音(使用RT-Voice PRO [2023.1.0])

参考文章Unity插件——文字转朗读语音RtVioce插件功能/用法/下载_rtvoice-CSDN博客 一、使用步骤 1.导入进Unity&#xff08;插件形式为 .unitypackage&#xff09; https://download.csdn.net/download/luckydog1120446388/88717512 2.添加所需Prefab 1&#xff09;.右键可…

后端 API 接口文档 Swagger 使用

Swagger 是什么 swagger是一款可以根据 restful 风格生成的接口开发文档&#xff0c;并且支持做测试的一款中间软件。 例如当我们在开发前后端分离项目时&#xff0c;当后端开发完一个功能想要测试时&#xff0c;若此时还没有相应的前端页面发起请求&#xff0c;可以通过 swag…

android系列-SystemServer创建服务

SystemServer会开启很多服务&#xff0c;这些服务的创建流程类似&#xff0c;以Installer为例子 1.startBootstrapServices //frameworks\base\services\java\com\android\server\SystemServer.javaprivate void startBootstrapServices() {Installer installer mSystemSer…

Vue实现版本号输入、删除时光标自动移动到上、下一个输入框前端demo

前言 首先声明&#xff0c;我平时的工作主要是后端JAVA开发&#xff0c;该demo为前端练习&#xff0c;记录一下劳动成果&#xff0c;希望对大家有所帮助&#xff0c;如果有写的不妥的地方&#xff0c;欢迎大家指正&#xff0c;一起学习、共同进步。 背景 手机验证码、银行卡…

python炒股自动化(0),申请券商API接口

上次发了量化交易接口的区别&#xff0c;发现很多人根本不知道券商提供的API交易接口&#xff0c;这里补充一篇&#xff0c;关于券商接口的介绍。 现在市面上可以给个人账户接入的股票交易接口&#xff0c;用的最多的也就是QMT和Ptrade&#xff0c;以前接入量化交易需要机构或…

设备树文件中设备节点的标准属性

一. 简介 前面几篇文章学习了 设备树文件编译&#xff0c;调用关系&#xff0c;以及设备节点。本文继续学习设备树文件的语法。 节点是由一堆的属性组成&#xff0c;节点都是具体的设备&#xff0c;不同的设备需要的属性不同&#xff0c;用户可以自定义属性。除了用户自定义属…

2024年1月8日学习总结

目录 学习计划学习内容how to save and load models in pytorch&#xff08;1&#xff09;什么是state_dict定义一个模型实例化模型初始化优化器查看模型的state_dict查看优化器的state_dict &#xff08;2&#xff09;保存模型A、save/load state_dict&#xff08;推荐&#x…

高压放大器设计要求是什么

高压放大器在科学研究和工程应用中扮演着至关重要的角色&#xff0c;特别是在需要处理高电压信号的实验和应用中。高压放大器设计要求的充分考虑至关重要&#xff0c;以确保其在各种环境中稳定、可靠地工作。下面将介绍设计高压放大器时需要考虑的关键要求和因素。 1.电压范围 …

赋能软件开发:生成式AI在优化编程工作流中的应用与前景

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;特别是生成式AI模型如GPT-3/4的出现&#xff0c;软件开发行业正经历一场变革&#xff0c;这些模型通过提供代码生成、自动化测试和错误检测等功能&#xff0c;极大地提高了开发效率和软件质量。 本文旨在深入…

AnnexB封装格式介绍(主要用于H.264和H.265视频编码标准,是一种常见的视频流NALU封装格式,常用于RTSP、RTP传输)

参考文章&#xff1a;解码中的AnnexB和avcC两种分割数据方式 文章目录 AnnexB 格式介绍1. NALU单元与开始代码1.1 NALU单元1.2 开始代码 2. AnnexB格式详述2.1 基本结构2.2 长度前缀 3. 从AnnexB格式到AVCC格式4. AnnexB格式的优缺点4.1 优点4.2 缺点 5. 疑难问题解析如何确定开…

Android readelf 工具查找函数符号

ELF&#xff08;Executable and Linkable Format&#xff09;是一种执行文件和可链接文件的格式。它是一种通用的二进制文件格式&#xff0c;用于在各种操作系统中存储可执行程序、共享库和内核模块。 Android 开发当中的 so 库本质上就是一种特殊类型的 ELF 文件&#xff0c;…

文章解读与仿真程序复现思路——电工技术学报EI\CSCD\北大核心《考虑灵活性补偿的高比例风电与多元灵活性资源博弈优化调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 这个标题涉及到高比例风电与多元灵活性资源在博弈优化调度中考虑灵活性补偿的问题。以下是对标题各个部分的解读&#xff1a; 高比例风电&#xff1a; …

【模拟IC学习笔记】Cascode OTA 设计

辅助定理 增益Gm*输出阻抗 输出短路求Gm 输入置0求输出阻抗 求源极负反馈的增益 随着Vin的增加&#xff0c;Id也在增加&#xff0c;Rs上压降增加&#xff0c;所以&#xff0c;Vin的一部分电压体现在Rs上&#xff0c;而不是全部作为Vgs&#xff0c;因此导致Id变得平滑。 Rs足…