当前位置: 首页 > news >正文

【第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.mrgr.cn/news/28043.html

相关文章:

  • 2024 同一个网段,反弹shell四种方法【linux版本】bash、python、nc、villian反弹shell图解步骤
  • 【日常记录-Git】git log
  • 使用阿里云远程访问 Synology Web Station 的指南
  • 【日志】力扣11.盛水最多的容器
  • ⾃动化运维利器 Ansible-变量
  • 蓝桥杯竞赛单片机组备赛【经验帖】
  • 克隆虚拟机,xshell无法传文件,windows无法ping克隆虚拟机,已解决
  • Pandas缺失值处理
  • Dina靶机详解
  • JDBC注册驱动及获取连接
  • 【字幕】恋上数据结构与算法之015动态数组03简单接口的实现
  • TikTok商家如何通过真人测评提高流量和销量?
  • C++之AVL树
  • VUE3初学者必备的快速开发入门指南
  • 系统架构设计师教程 第5章 5.6 基于构件的软件工程 笔记
  • Dubbo从入门到实战
  • ??Nginx实现会话保持_Nginx会话保持与Redis的结合_Nginx实现四层负载均衡
  • 嵌入式通信原理—SPI总线通信原理与应用
  • 2024中国算力大会 2024 China Computational Power Conference
  • GB28181在融合指挥调度系统应用方案探究和技术实现
  • 解决跨境电商平台账号无法访问的常见问题
  • springboot老年康复中心—计算机毕业设计源码27406
  • FreeRTOS实战指南 — 3.1 C语言链表
  • 斗破C++编程入门系列之二十七:数组、指针和字符串:string类(一星斗师)
  • 【C++】unordered系列
  • MongoDB的详细安装教程