【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
  显示在配置和自动配置类上评估的条件以及它们匹配或不匹配的原因。
在这里插入图片描述

相关文章
|
25天前
|
自然语言处理 Java API
Spring Boot 接入大模型实战:通义千问赋能智能应用快速构建
【10月更文挑战第23天】在人工智能(AI)技术飞速发展的今天,大模型如通义千问(阿里云推出的生成式对话引擎)等已成为推动智能应用创新的重要力量。然而,对于许多开发者而言,如何高效、便捷地接入这些大模型并构建出功能丰富的智能应用仍是一个挑战。
98 6
|
28天前
|
缓存 NoSQL Java
Spring Boot与Redis:整合与实战
【10月更文挑战第15天】本文介绍了如何在Spring Boot项目中整合Redis,通过一个电商商品推荐系统的案例,详细展示了从添加依赖、配置连接信息到创建配置类的具体步骤。实战部分演示了如何利用Redis缓存提高系统响应速度,减少数据库访问压力,从而提升用户体验。
69 2
|
1月前
|
XML Java 数据格式
Spring IOC容器的深度解析及实战应用
【10月更文挑战第14天】在软件工程中,随着系统规模的扩大,对象间的依赖关系变得越来越复杂,这导致了系统的高耦合度,增加了开发和维护的难度。为解决这一问题,Michael Mattson在1996年提出了IOC(Inversion of Control,控制反转)理论,旨在降低对象间的耦合度,提高系统的灵活性和可维护性。Spring框架正是基于这一理论,通过IOC容器实现了对象间的依赖注入和生命周期管理。
65 0
|
6月前
|
XML 安全 Java
深入实践springboot实战 蓄势待发 我不是雷锋 我是知识搬运工
springboot,说白了就是一个集合了功能的大类库,包括springMVC,spring,spring data,spring security等等,并且提供了很多和可以和其他常用框架,插件完美整合的接口(只能说是一些常用框架,基本在github上能排上名次的都有完美整合,但如果是自己写的一个框架就无法实现快速整合)。
|
3月前
|
缓存 Java Maven
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
|
6月前
|
Java 数据安全/隐私保护
Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
Neo4j【付诸实践 01】SpringBoot集成报错org.neo4j.driver.exceptions.ClientException:服务器不支持此驱动程序支持的任何协议版本(解决+源代码)
321 1
|
2月前
|
Java 应用服务中间件 开发者
深入探索并实践Spring Boot框架
深入探索并实践Spring Boot框架
43 2
|
3月前
|
缓存 Java Spring
Java本地高性能缓存实践问题之在Spring Boot中启用缓存支持的问题如何解决
Java本地高性能缓存实践问题之在Spring Boot中启用缓存支持的问题如何解决
|
6月前
|
JavaScript Java 测试技术
返家乡”高校暑期社会实践微信小程序+springboot+vue.js附带文章和源代码设计说明文档ppt
返家乡”高校暑期社会实践微信小程序+springboot+vue.js附带文章和源代码设计说明文档ppt
37 0
|
6月前
|
Java API 时序数据库
InfluxData【付诸实践 02】SpringBoot 集成时序数据库 InfluxDB 应用分享(InfluxDB实例+Feign接口调用InfluxDB API)源码分享
InfluxData【付诸实践 02】SpringBoot 集成时序数据库 InfluxDB 应用分享(InfluxDB实例+Feign接口调用InfluxDB API)源码分享
163 0