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.rhkb.cn/news/236390.html

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

相关文章

数据库系统概念 第七版 中文答案 第3章 SQL介绍

3.1 将以下查询使用SQL语言编写&#xff0c;使用大学数据库模式。 &#xff08;我们建议您实际在数据库上运行这些查询&#xff0c;使用我们在书籍网站db-book.com上提供的示例数据。有关设置数据库和加载示例数据的说明&#xff0c;请参阅上述网站。&#xff09; a. 查找计算机…

C++每日一练(15):简单幂计算

题目描述 输入两个数a和b&#xff0c;求a的b次方。 输入 输入两个整数a&#xff0c;b&#xff08;1<a<10&#xff0c;1<b<15&#xff09;。 输出 输出一个正整数&#xff0c;该值<1000000000000。 输入样例 3 3 输出样例 27 参考答案 #include<bits/stdc.h&…

uni-app中轮播图实现大图预览

参考效果 当轮播图滑动切换的时候更新自定义下标&#xff0c;当图片被点击的时候大图预览。 参考代码 商品详情页轮播图交互 <script setup lang"ts"> // 轮播图变化时 const currentIndex ref(0) const onChange: UniHelper.SwiperOnChange (ev) > …

SwiftUI之深入解析布局协议

一、什么是布局协议&#xff1f; 采用布局协议类型的任务&#xff0c;是告诉 SwiftUI 如何放置一组视图&#xff0c;需要多少空间。这类型常常被作为视图容器&#xff0c;虽然布局协议是 2022 年新推出的&#xff08;至少公开来说&#xff09;&#xff0c;但是我们在第一天使用…

SpringBoot项目如何防止反编译?

SpringBoot项目如何防止反编译&#xff1f; 场景方案项目操作启动方式反编译效果绑定机器启动 场景 最近项目要求部署到其他公司的服务器上&#xff0c;但是又不想将源码泄露出去。要求对正式环境的启动包进行安全性处理&#xff0c;防止客户直接通过反编译工具将代码反编译出…

影视仓最新配置接口2024tvbox源配置地址

影视仓是在TVBox开源代码基础上开发的优质版本&#xff0c;安装后需要配置接口才能正常使用。影视仓"内置版"是开发者做的资源内置化修改版本&#xff0c;不用自行设置接口&#xff0c;安装后即可使用。 影视仓的接口配置方法与TVBOX一样&#xff0c;区别在于影视仓…

TCP/IP 网络模型

TCP/IP 网络通常是由上到下分成 4 层&#xff0c;分别是应用层&#xff0c;传输层&#xff0c;网络层和网络接口层。 应用层 应用层专注于为用户提供应用功能&#xff0c;比如 HTTP、FTP、Telnet、DNS、SMTP等。我们电脑或手机使用的应用软件都是在应用层实现。应用层是不用去关…

YOLOv6s,map值打印成两位小数(原本是显示0.538,变成显示为53.79)

显示结果 更改前&#xff1a; 更改后&#xff1a; 方法 将tools/eval.py中的--do_pr_metric后面改为defaultTrue即可打印出map值原本是显示0.538&#xff0c;变成显示为53.79&#xff0c;方法为&#x1f447; 在YOLOv6-main/yolov6/core/evaler.py中做如下更改&#xff1a…

揭秘HTTP协议:深入了解互联网通信的核心!

文章目录 HTTPHTTP的消息结构HTTP 常用请求方法HTTP 状态码 HTTP HTTP 是超文本传输协议&#xff0c;HTTP是缩写&#xff0c;全称是 HyperText Transfer Protocol 超文本指的是 HTML、css、JavaScript和图片等&#xff0c;HTTP的出现就是为方便接收和发布超HTML页面&#xff0c…

20240113斐波那切数列

代码 def fibonacci(n):fib_list [0, 1] # 初始的斐波那契数列&#xff0c;包含0和1while len(fib_list) < n:next_number fib_list[-1] fib_list[-2]fib_list.append(next_number)return fib_list[:n]# 示例&#xff1a;计算前10个斐波那契数 n 10 result fibonacci…

预训练中文GPT2(包括重新训练tokenizer)

训练数据 1.json后缀的文件 2.数据是json line格式&#xff0c;一行一条json 3. json结构如下 {"content": "①北京和上海户籍的游客可获得韩国多次签证&#xff1b;②“整容客”可以不经由韩国使领馆、直接在网上申请签证&#xff1b;③中泰免签的实施日期…

在加载第三方库过程中,无法加载到库的问题(使用readelf, patchelf命令)

无法加载到库问题 问题及分析过程readelf 命令patchelf命令 问题及分析过程 在开发一个程序过程中&#xff0c;需要加载第三方库iTapTradeAPI, 在CMakeList.txt中已经设置了CMAKE_INSTALL_RPATH&#xff0c;但是发布到生产之后由于目录问题无法加载到libiTapTradeAPI库了 下面…

韩语发音干货,零基础韩语学习,柯桥韩语知识点之发音规律

01.连音化 当收音遇到以元音为首音的音节时&#xff0c;收音要和该元音相连发音。 예: 독일[도길] 밥을 [바블] 우산이[우사니] 읽어요[일거요] 02.送气 ㄱ/ㄷ/ㅂ/ㅈ遇到ㅎ,送气化读成ㅋ/ㅌ/ㅍ/ㅊ 예: 어떻게[어떠케] 좋다[조타] 많지만[만치만] 백화점[배콰…

1.12 力扣中等图论

797. 所有可能的路径 - 力扣&#xff08;LeetCode&#xff09; 给你一个有 n 个节点的 有向无环图&#xff08;DAG&#xff09;&#xff0c;请你找出所有从节点 0 到节点 n-1 的路径并输出&#xff08;不要求按特定顺序&#xff09; graph[i] 是一个从节点 i 可以访问的所有节…

vscode+opencv基础用法学习1

案例1&#xff1a;读取图片信息 如果是使用云服务器的话&#xff0c;由于图形界面的问题&#xff0c;使用cv::show来显示图片会报错 // 图片的读取和显示 // 导入opencv头文件 #include "opencv2/opencv.hpp" #include <iostream>int main(int argc, char** …

【Java 设计模式】设计原则

文章目录 ✨单一职责原则&#xff08;SRP&#xff09;✨开放/封闭原则&#xff08;OCP&#xff09;✨里氏替换原则&#xff08;LSP&#xff09;✨依赖倒置原则&#xff08;DIP&#xff09;✨接口隔离原则&#xff08;ISP&#xff09;✨合成/聚合复用原则&#xff08;CARP&#…

动态pv策略和组件

pv和pvc&#xff0c;存储卷&#xff1a; 存储卷&#xff1a; emptyDir 容器内部&#xff0c;随着pod销毁&#xff0c;emptyDir也会消失 不能做数据持久化 hostPath&#xff1a;持久化存储数据 可以和节点上的目录做挂载。pod被销毁了数据还在 NFS&#xff1a;一台机器&am…

Java常用类---日期时间类

日期时间类 Date类 简介 在Java中&#xff0c;Date类用来封装当前的日期和时间。Date类提供两个构造函数来初始化对象&#xff0c;如下所示。 通过Date() 使用当前日期和时间来初始化对象。 通过Date(long millisec) 来初始化对象&#xff0c;其中的参数是从1970年1月1日起…

学习笔记——C++中的循环结构 while语句

while循环语句 作用&#xff1a;满足循环条件&#xff0c;执行循环语句 语法&#xff1a;while&#xff08;循环条件&#xff09;{循环语句} 解释&#xff1a;只要循环条件的结果为真&#xff0c;就执行循环语句 以打印0-9这十个数字为例&#xff0c;特别需要注意的是&…

【python】爬取豆瓣电影排行榜Top250存储到Excel文件中【附源码】

英杰社区https://bbs.csdn.net/topics/617804998 一、背景 近年来&#xff0c;Python在数据爬取和处理方面的应用越来越广泛。本文将介绍一个基于Python的爬虫程 序&#xff0c;用于抓取豆瓣电影Top250的相关信息&#xff0c;并将其保存为Excel文件。 程序包含以下几个部…