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

相关文章
|
1天前
|
Java 应用服务中间件 测试技术
深入探索Spring Boot Web应用源码及实战应用
【5月更文挑战第11天】本文将详细解析Spring Boot Web应用的源码架构,并通过一个实际案例,展示如何构建一个基于Spring Boot的Web应用。本文旨在帮助读者更好地理解Spring Boot的内部工作机制,以及如何利用这些机制优化自己的Web应用开发。
8 2
|
2天前
|
安全 Java 开发者
深入理解Spring Boot配置绑定及其实战应用
【4月更文挑战第10天】本文详细探讨了Spring Boot中配置绑定的核心概念,并结合实战示例,展示了如何在项目中有效地使用这些技术来管理和绑定配置属性。
10 1
|
3天前
|
Java Spring 容器
深入理解Spring Boot启动流程及其实战应用
【5月更文挑战第9天】本文详细解析了Spring Boot启动流程的概念和关键步骤,并结合实战示例,展示了如何在实际开发中运用这些知识。
13 2
|
4天前
|
JavaScript Java 开发者
Spring Boot中的@Lazy注解:概念及实战应用
【4月更文挑战第7天】在Spring Framework中,@Lazy注解是一个非常有用的特性,它允许开发者控制Spring容器的bean初始化时机。本文将详细介绍@Lazy注解的概念,并通过一个实际的例子展示如何在Spring Boot应用中使用它。
17 2
|
11天前
|
Java 调度 Maven
Springboot实战篇--Springboot框架通过@Scheduled实现定时任务
Spring Boot的Scheduled定时任务无需额外Maven依赖,通过`@EnableScheduling`开启。任务调度有两种方式:fixedRate和fixedDelay,前者任务结束后立即按设定间隔执行,后者在任务完成后等待设定时间再执行。更灵活的是cron表达式,例如`0 0 3 * * ?`表示每天3点执行。实现定时任务时,需注意默认单线程执行可能导致的任务交错,可通过自定义线程池解决。
|
12天前
|
XML Java 数据格式
如何在Spring AOP中定义和应用通知?
【4月更文挑战第30天】如何在Spring AOP中定义和应用通知?
17 0
|
12天前
|
XML Java API
Spring Boot 整合 LiteFlow 规则引擎:概念与实战
【4月更文挑战第30天】在现代软件开发中,规则引擎允许我们以声明式的方式定义业务逻辑和决策路径。LiteFlow 是一个轻量级、易于使用的组件式规则引擎,它可以与 Spring Boot 应用无缝整合。本文将介绍如何在 Spring Boot 项目中引入 LiteFlow,实现灵活的业务流程管理。
30 0
|
监控 NoSQL Java
SpringBoot 居然有 44 种应用启动器
SpringBoot 居然有 44 种应用启动器
134 0
|
监控 NoSQL Java
SpringBoot 的 44 种应用启动器,你都知道吗?
什么是应用启动器?SpringBoot集成了spring的很多模块,比如tomcat、redis等等。你用SpringBoot搭建项目,只需要在pom.xml引入相关的依赖,和在配置文件中简单的配置就可以使用相应模块了。 非常方便,spring boot集成了哪些启动器呢?
SpringBoot 的 44 种应用启动器,你都知道吗?
|
1月前
|
Java Linux
Springboot 解决linux服务器下获取不到项目Resources下资源
Springboot 解决linux服务器下获取不到项目Resources下资源