【第12章】SpringBoot之SpringBootActuator服务监控(上)

文章目录

  • 前言
  • 一、准备
    • 1. 地址和端口配置
    • 2. 引入依赖
    • 3. Actuator Properties
  • 二、使用
    • 1. Beans (beans)
    • 2. Configuration Properties (configprops)
    • 3. Environment (env)
    • 4. Health (health)
    • 5. Heap Dump (heapdump)
    • 6. Mappings (mappings)
    • 7. Metrics (metrics)
    • 8. Thread Dump (threaddump)
  • 总结


前言

SpringBootActuator是 Spring Boot 框架中的一个核心模块,它提供了生产级别的监控和管理功能,帮助开发者更好地理解和维护他们的 Spring Boot 应用。

SpringBootActuator 模块通过暴露一系列端点(Endpoints),允许外部系统或开发者通过 HTTP、JMX 或 SSH 等方式访问和监控应用的内部状态。这些端点提供了丰富的信息,如健康检查、度量指标、环境属性、日志配置等,从而帮助开发者快速定位问题并进行优化。


一、准备

1. 地址和端口配置

在单例SpringBoot应用程序中,Actuator默认使用主程序的端口号,不过我们可以通过

  • management.server.address
  • management.server.port

等外部配置自行定义,更多可配置信息参考ManagementServerProperties

2. 引入依赖

SpringBoot应用直接引入starter即可

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

3. Actuator Properties

名称描述默认值路由
management.endpoint.beans.enabled是否启用bean端点。true/actuator/beans
management.endpoint.configprops.enabled是否启用configprops端点。true/actuator/configprops
management.endpoint.env.enabled是否启用env端点。true/actuator/env
management.endpoint.health.enabled是否启用health端点。true/actuator/health
management.endpoint.heapdump.enabled是否启用heapdump端点。true/actuator/heapdump
management.endpoint.mappings.enabled是否启用mappings端点。true/actuator/mappings
management.endpoint.metrics.enabled是否启用metrics端点。true/actuator/metrics
management.endpoint.startup.enabled是否启用startup端点。true/actuator/startup
management.endpoint.threaddump.enabled是否启用threaddump端点。true/actuator/threaddump

这些端点默认都是开启的,但是生产上为了保证服务安全,我们可能需要配合management.endpoints.enabled-by-defaultmanagement.endpoints.web.exposure.include配置合理使用需要开放的端点。

这里只列出一些常用的,更多配置信息请参考官网

二、使用

我这里为了方便,配置management.endpoints.web.exposure.include=*开启了所有端点
另外,如果应用程序中有登录拦截器之类的,需要对actuator请求进行放行,以下是可用的端点:

在这里插入图片描述

1. Beans (beans)

curl 'http://localhost:8080/actuator/beans' -i -X GET

2. Configuration Properties (configprops)

curl 'http://localhost:8080/actuator/configprops' -i -X GET

3. Environment (env)

curl 'http://localhost:8080/actuator/env' -i -X GET

4. Health (health)

curl 'http://localhost:8080/actuator/health' -i -X GET -H 'Accept: application/json'

5. Heap Dump (heapdump)

curl 'http://localhost:8080/actuator/heapdump' -O

在这里插入图片描述
生成的堆文件有60多M,我这刚启动,还什么都没做

6. Mappings (mappings)

curl 'http://localhost:8080/actuator/mappings' -i -X GET \-H 'accept-encoding: gzip' \-H 'user-agent: ReactorNetty/1.1.22' \-H 'accept: */*'

7. Metrics (metrics)

curl 'http://localhost:8080/actuator/metrics' -i -X GET

在这里插入图片描述

8. Thread Dump (threaddump)

curl 'http://localhost:8080/actuator/threaddump' -i -X GET \-H 'Accept: application/json'

总结

回到顶部

通过这些端点我们可以实时获取到应用程序的各类信息和指标,但是接口响应数据的格式是不利于观察的,所以我们需要一块可视化的工具,来帮助我们完成这些数据的结构化和可视化。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

浅谈vue2.0与vue3.0的区别(整理十六点)

目录 1. 实现数据响应式的原理不同 2. 生命周期不同 3. vue 2.0 采用了 option 选项式 API&#xff0c;vue 3.0 采用了 composition 组合式 API 4. 新特性编译宏 5. 父子组件间双向数据绑定 v-model 不同 6. v-for 和 v-if 优先级不同 7. 使用的 diff 算法不同 8. 兄弟组…

小米,B站网络安全岗位笔试题目+答案

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 《Java代码审…

面试官问:请描述一次你成功解决问题的经历?

面试官为什么要这么问&#xff1f; 面试官问你描述一次成功解决问题的经历&#xff0c;主要是为了评估你的几个关键方面&#xff1a; 问题解决能力&#xff1a;了解你在面对挑战时的思维方式和应对策略。 决策能力&#xff1a;考察你在压力下做出明智决定的能力。 沟通技巧&am…

集团人事管理信息化目标及重点工作内容【数字化规划】

人力资源管理能力模型通常被细分为六个主要支柱&#xff0c;这些支柱共同构成了人力资源管理的核心框架。每个支柱分别涵盖了不同的HR职责和技能&#xff0c;以下是这六支柱能力模型的详细介绍&#xff1a; 1. 人力资源规划与策略&#xff08;HR Planning and Strategy&#xf…

自修C++PrimerPlus--类型转换、右值引用、引用中的类对象

目录 1.类型转换介绍 2.关闭vs2022的报警系统 3.string里面的I/O 4.引用和左值引用 4.1左值和右值的说明 4.2具体的代码演示 4.3字符和字符串的const区分 4.4右值引用的示例介绍 5.将引用应用于类对象 6.函数和C风格字符串 6.1两者的区别 6.2演示案例 1.类型转换介…

学习图解算法 使用C语言

图解算法 使用C语言 也就是通过C语言实现各种算法 链接&#xff1a;百度云盘 提取码&#xff1a;1001

中国空间计算产业链发展分析

2024中国空间计算产业链拆解 空间计算设备主要包括AR、VR、MR等终端设备。VR设备通常包括头戴式显示器&#xff08;VR头盔&#xff09;、手柄或追踪器等组件&#xff0c;用以完全封闭用户视野&#xff0c;营造虚拟环境体验。这些设备配备高分辨率显示屏、内置传感器和跟踪器。 …

哪些行业需要办理网络文化经营许可证?

网络文化经营许可证&#xff0c;是指经文化行政部门和电信管理机构批准&#xff0c;颁发给从事经营性互联网文化活动的互联网信息服务提供者的市场合法准入资质。经营性互联网文化活动是指以营利为目的&#xff0c;通过向上网用户收费或者电子商务、广告、赞助等方式获取利益&a…

linux 内核代码学习(九)--Linux内核启动和文件系统

一个比较顺手的学习平台可以达到事半功倍的效果&#xff0c;这里使用的平台环境主要是利用了主机和从机间的文件共享&#xff0c;以及从机自带的编译环境可以比较顺利的编译busybox1.0版本&#xff0c;方便进行内核和文件系统的测试了学习。 主机环境&#xff1a;vmware7.0win1…

Java 入门指南:JVM(Java虚拟机)垃圾回收机制 —— 内存分配和回收规则

文章目录 垃圾回收机制堆空间的基本结构内存分配和回收规则对象优先在 Eden 区分配分配担保机制 大对象直接进入老年代长期存活的对象进入老年代主要进行 GC 的区域部分收集 (Partial GC)&#xff1a;Minor GCMajor/Old GCMixed GC 整堆收集&#xff08;Full GC&#xff09; 空…

时序必读论文10|ICLR23 Crossformer 跨维度依赖的多变量时序预测模型

论文标题&#xff1a;iCROSSFORMER : TRANSFORMER UTILIZING CROSS DIMENSION DEPENDENCY FOR MULTIVARIATE TIME SERIES FORECASTING 开源代码&#xff1a;https://github.com/Thinklab-SJTU/Crossformer 前言 Crossformer是一篇非常典型的在transformer基础上魔改注意力机…

24/9/16 算法笔记 评估模型

评估机器学习模型的性能是一个关键步骤&#xff0c;它可以帮助我们了解模型在实际应用中的表现。以下是一些常用的评估模型的方法&#xff1a; 准确率&#xff08;Accuracy&#xff09;&#xff1a; 最常见的评估指标&#xff0c;表示正确预测的样本数占总样本数的比例。 精确度…

Linux命令:文本处理工具sed详解

目录 一、概述 二、用法 1、基本语法 2、常用选项 3、命令格式 4、编辑命令 5、获取帮助 三、 示例 1、替换字符串 2、删除行 &#xff08;1&#xff09;删除包含"string"的所有行 ​编辑 &#xff08;2&#xff09;删除从第1行到第10行的所有行 3、插…

MySQL篇(运算符)(持续更新迭代)

目录 一、简介 二、运算符使用 1. 算术运算符 1.1. 加法运算符 1.2. 减法运算符 1.3. 乘法与除法运算符 1.4. 求模&#xff08;求余&#xff09;运算符 2. 比较运算符 2.1. 等号运算符 2.2. 安全等于运算符 2.3. 不等于运算符 2.4. 空运算符 2.5. 非空运算符 2.6.…

java -- JDBC

一.JDBC概述: 过java语言操作数据库中的数据。 1.JDBC概念 JDBC&#xff08;Java DataBase Connectivity,java数据库连接&#xff09;是一种用于 执行SQL语句的Java API。JDBC是Java访问数据库的标准规范&#xff0c;可以 为不同的关系型数据库提供统一访问&#xff0c;它由…

CORS跨域请求共享

参考文章: https://xz.aliyun.com/t/12001?time__1311GqGxRGiti%3Dd052x%2BxCwx7qGIxpbDulE%3DoD https://blog.csdn.net/weixin_46622976/article/details/128452494 跨域资源共享 自己的理解&#xff0c;一般来讲&#xff0c;我们使用未授权的接口漏洞&#xff0c;都是因…

Django学习实战篇四(适合略有基础的新手小白学习)(从0开发项目)

前言&#xff1a; 在本章中&#xff0c;我们开始编写面向用户的界面&#xff0c;其中只涉及简单的HTML结构&#xff0c;不会做太多美化&#xff0c;目的就是把后台创建的数据展示到前台。 从技术上来讲&#xff0c;这一节将涉及Django 中function view和 class-based view 的用…

robosuite基础教程(一)——基本概念

robosuite和robomimic都是由ARISE Initiative开发的开源工具&#xff0c;旨在推进机器人学习和机器人操作领域的研究。 一、基本概念 robosuite是一个由MuJoCo物理引擎驱动的模拟框架&#xff0c;专为机器人学习设计。它提供了一套基准环境&#xff0c;是Advancing Robot Int…

Linux实操笔记2 Ubuntu安装Nginx的不同方法

今天来了解Ubuntu或者说Linux系统安装Nginx的几种办法。包括从Ubuntu的库安装到官方源码编译安装。 一、Nginx是什么&#xff1f; 以下是来自Nginx中文文档的内容。 Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器&#xff1a;相比…

瓶中水位检测系统源码分享

瓶中水位检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…