【Spring Boot实战与进阶】如何使用Actuator监控Spring Boot应用

简介: 如何使用Actuator监控Spring Boot应用
Spring Boot是很优秀的框架,它的出现简化了新Spring应用的初始搭建以及开发过程,大大减少了代码量,目前已被大多数企业认可和使用。这个专栏将对Spring Boot框架从浅入深,从实战到进阶,不但我们要懂得如何去使用,还要去剖析框架源码,学习其优秀的设计思想。

汇总目录链接:【Spring Boot实战与进阶】学习目录

一、简介

  Spring Boot包含许多附加功能,可以帮助您在将应用程序推向生产环境时对其进行监视和管理。您可以选择使用HTTP端点或JMX来管理和监视应用程序。审计、健康状况和指标收集也可以自动应用到您的应用程序中。

二、Actuator的使用

1、引入Actuator

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

2、Endpoints

  Actuator endpoints允许您监视应用程序并与之交互。Spring Boot包含许多内置的endpoints,允许您添加自己的endpoints。例如,health endpoints提供基本的应用程序健康信息。

ID Description
/conditions 显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因
/beans 显示一个应用中所有Spring Beans的完整列表,以及它们的关系
/health 显示应用程序运行状况信息
/env 获取全部环境属性
/info 获取应用程序的定制信息,这些信息由info打头的属性提供
/mappings 显示所有@RequestMapping路径的整理列表
/configprops 显示一个所有@ConfigurationProperties的集合列表
/dump 获取线程活动的快照
/mappings 显示所有@RequestMapping路径的整理列表
/metrics 报告各种应用程序度量信息,比如内存用量和HTTP请求计数
/shutdown 关闭应用程序,默认禁用。
/trace 提供基本的HTTP请求跟踪信息(时间戳、HTTP头等)
scheduledtasks 显示应用程序中的计划任务

3、配置

#actuator
management:
  endpoint:
    health:
      show-details: always  #显示健康具体信息(默认never)
  endpoints:
    web:
      base-path: /monitor
      exposure:
        include: '*'  #开放所有页面节点,默认只开启了health、info两个节点
  security:
    enabled: false #关掉安全认证
  server:
    port: 9001
endpoints:
  shutdown:
    enabled: true

三、启动应用

在这里插入图片描述
1、health
  查看所在应用的健康状态, 如磁盘、数据源、Redis 、Elasticsearch等。健康状态分为UP(正常)和DOWN(故障)状态。
在这里插入图片描述
2、beans
  查看Spring 容器管理的Bean。
在这里插入图片描述
3、env
  显示Spring Boot环境变量,如使用的JDK版本、加载的jar包、配置文件信息、日志文件信息。
在这里插入图片描述
4、metrics
  显示Spring Boot的性能指标,如己有内存、未占用内存、垃圾回收次数、类信息等。
在这里插入图片描述
在这里插入图片描述
5、conditions
  显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因。
在这里插入图片描述

相关文章
|
8月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
777 1
日志收集和Spring 微服务监控的最佳实践
|
11月前
|
Prometheus 监控 Cloud Native
|
11月前
|
Prometheus 监控 Cloud Native
Spring Boot 可视化监控
本文介绍了如何通过Spring Actuator、Micrometer、Prometheus和Grafana为Spring Boot应用程序添加监控功能。首先创建了一个Spring Boot应用,并配置了Spring Actuator以暴露健康状态和指标接口。接着,利用Micrometer收集应用性能数据,并通过Prometheus抓取这些数据进行存储。最后,使用Grafana将Prometheus中的数据可视化,展示在精美的仪表板上。整个过程简单易行,为Spring Boot应用提供了基本的监控能力,同时也为后续扩展更详细的监控指标奠定了基础。
1781 2
|
11月前
|
SQL Java 数据库
解决Java Spring Boot应用中MyBatis-Plus查询问题的策略。
保持技能更新是侦探的重要素质。定期回顾最佳实践和新技术。比如,定期查看MyBatis-Plus的更新和社区的最佳做法,这样才能不断提升查询效率和性能。
660 1
|
安全 Java API
Spring Boot 功能模块全解析:构建现代Java应用的技术图谱
Spring Boot不是一个单一的工具,而是一个由众多功能模块组成的生态系统。这些模块可以根据应用需求灵活组合,构建从简单的REST API到复杂的微服务系统,再到现代的AI驱动应用。
1606 8
|
XML Java 应用服务中间件
Spring Boot 两种部署到服务器的方式
本文介绍了Spring Boot项目的两种部署方式:jar包和war包。Jar包方式使用内置Tomcat,只需配置JDK 1.8及以上环境,通过`nohup java -jar`命令后台运行,并开放服务器端口即可访问。War包则需将项目打包后放入外部Tomcat的webapps目录,修改启动类继承`SpringBootServletInitializer`并调整pom.xml中的打包类型为war,最后启动Tomcat访问应用。两者各有优劣,jar包更简单便捷,而war包适合传统部署场景。需要注意的是,war包部署时,内置Tomcat的端口配置不会生效。
3203 17
Spring Boot 两种部署到服务器的方式
|
Java 数据库 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
719 0
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
441 5
|
存储 缓存 NoSQL
Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存|学习笔记
快速学习 Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存
Spring Boot2.5 实战 MongoDB 与高并发 Redis 缓存|学习笔记
|
Java Go Nacos
3.10 Spring Cloud Gateway 实战接入 Nacos 服务 | 学习笔记
快速学习 3.10 Spring Cloud Gateway 实战接入 Nacos 服务 。
3.10 Spring Cloud Gateway 实战接入 Nacos 服务 | 学习笔记