`
wang94777600
  • 浏览: 11466 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Springboot快速上手- 第八篇 Actuator

 
阅读更多

1 概述

Spring Boot Actuator的关键特性是在应用程序里提供众多Web端点,通过它们了解应用程序运行时的内部状况,比如:
Spring应用程序上下文里配置的Bean
Bean在Spring应用程序上下文里是如何组装在一 起的
Spring Boot的自动配置做的决策
应用程序取到的环境变量、系统属性、配置属性和命令行参数
应用程序里线程的当前状态
应用程序最近处理过的HTTP请求的追踪情况
各种和内存用量、垃圾回收、Web请求以及数据源用量相关的指标……
Spring Boot Actuator提供的端点,可以查看官方文档:
https://docs.spring.io/spring-boot/docs/2.0.0.M4/reference/htmlsingle/#production-ready-endpoints

2 启用Actuator

image.png
image.png

要启用Actuator的端点,只需在项目中引入Actuator的起步依赖即可

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

同时在properties里面设置management.security.enabled=false

 

image.png
image.png

3 autoconfig

该端点用来获取应用的自动化配置报告,其中包括所有自动化配置的候选项。同时还列出了每个候选项自动化配置应用或未应用的原因。该报告内容将自动化配置内容分为两部分:

  • positiveMatches中返回的是条件匹配成功的自动化配置
  • negativeMatches中返回的是条件匹配不成功的自动化配置

4 beans

该端点用来获取应用上下文中创建的所有Bean

5 configprops

该端点用来获取应用中配置的属性信息报告

6 env

用来获取应用所有可用的环境属性报告。包括:环境变量、JVM属性、应用的配置配置、命令行中的参数。

7 health

用来获取应用的各类健康指标信息。springboot自带了一些常用资源的健康指标检测器,都通过HealthIndicator接口实现,并且会实现自动化装配,可以查看官方目前提供的HealthIndicators。

8 自定义health检测器

1:写一个类实现HealthIndicator接口,并注册为bean
2:在实现方法中使用Health类

9 info

用来返回一些应用自定义的信息。默认返回一个空的json串。可以在配置文件中通过info前缀来设置一些属性,如:info.app.author=cc

10 metrics

image.png
image.png

用来返回当前应用的各类重要度量指标,比如:

1:系统信息:包括处理器数量processors、运行时间uptime和instance.uptime、系统平均负载systemload.average
2:mem.:内存概要信息,包括分配给应用的总内存数量以及当前空闲的内存数量
3:heap.
:堆内存使用情况
4:nonheap.:非堆内存使用情况
5:threads.
:线程使用情况,包括线程数、守护线程数(daemon)、线程峰值(peak)等
6:classes.:应用加载和卸载的类统计
7:gc.
:垃圾收集器的详细信息,包括垃圾回收次数gc.ps_scavenge.count、垃圾回收消耗时间gc.ps_scavenge.time、标记-清除算法的次数gc.ps_marksweep.count、标记-清除算法的消耗时间gc.ps_marksweep.time
8:httpsessions.:Web容器的会话使用情况。包括最大会话数httpsessions.max和活跃会话数httpsessions.active。该度量指标信息仅在引入了嵌入式Tomcat作为应用容器的时候才会提供。
9:gauge.
:表示一个绝对数值的指标
10:counter.*:主要作为计数器来使用,记录了增加量和减少量

11 自定义Counter

1:需要注入计数服务:
@Autowired
private CounterService counterService;
@Autowired
private GaugeService gaugeService;

2:直接使用计数服务来计数

counterService.increment("abc.call.count");
gaugeService.submit("cc.redis.hit", 79);

12 mappings

用来返回所有Spring MVC的控制器映射关系

13 dump

用来暴露程序运行中的线程信息

14 trace

用来返回基本的HTTP跟踪信息。默认情况下,跟踪信息的存储采用org.springframework.boot.actuate.trace.InMemoryTraceRepository实现的内存方式,始终保留最近的100条请求记录

15 shutdown

用来提供远程关闭应用的功能,比较危险,建议不要打开。

16 常见配置

image.png
image.png

1:修改端点名称
直接配置endpoints.endpoint-id.id ,例如:endpoints.beans.id=bs
这么设置过后,访问就不是: http://localhost:8080/beans,而是:
http://localhost:8080/bs
2:启用和禁用端点
设置endpoints.endpoint-id.enabled
3:设置管理端口
management.port ,-1表示关闭Http访问端口
4:设置管理地址
management.address=127.0.0.1
5:设置指定的根路径
management.context-path=/admin

 

分享到:
评论

相关推荐

    springboot-page-master.zip

    SpringBoot是由Pivotal团队提供的全新框架,其设计目标是使创建独立的、生产级别的基于Spring的应用变得极其简单,它集成了大量常用的第三方库配置(如DataSource、JPA、MongoDB、RabbitMQ等),默认配置能帮助...

    springmvc转为springboot--干货.docx

    它集成了大量常用的第三方库配置,如:Tomcat、JPA、Thymeleaf等,并提供了默认配置,使得开发者可以快速上手。 2. **Eclipse与STS插件**: Eclipse是一款广泛使用的Java IDE,而Spring Tools Suite (STS) 是...

    SpringBoot2.0.3-Demo简单的完整示例

    【SpringBoot2.0.3-Demo简单的完整示例】是一个使用SpringBoot 2.0.3版本构建的示例项目,旨在展示如何快速搭建一个功能完备的应用程序。...这是一个很好的起点,帮助新手快速上手SpringBoot开发。

    springboot-demo

    "springboot-demo" 是一个基于 SpringBoot 的入门级项目,旨在帮助开发者快速了解和上手 SpringBoot。 在 "springboot-demo" 中,我们可以看到以下几个关键的知识点: 1. **起步依赖(Starter Dependency)**:...

    springboot-dome

    【SpringBootDemo-master】压缩包文件是一个基于Spring Boot框架的示例项目,旨在帮助开发者快速理解和上手Spring Boot。Spring Boot是由Pivotal团队提供的全新框架,其设计目标是用来简化新Spring应用的初始搭建...

    廖师兄两小时学会SpringBoot

    通过"廖师兄两小时学会SpringBoot"的学习资源,你可以系统地了解并掌握上述知识点,快速上手SpringBoot开发,实现高效便捷的Java应用构建。在实际学习过程中,建议结合代码示例和实践项目,巩固理解,提升技能。

    SpringBoot实战(第四版)带目录可以复制粘贴

    《SpringBoot实战(第四版)》是一本专为SpringBoot初学者设计的高清教程,由丁雪丰翻译,提供清晰的目录结构,并且允许文本复制...对于希望快速上手并深入理解SpringBoot的初学者而言,这本书无疑是一份宝贵的资源。

    a002springboot_idea.zip

    通过这个项目,你可以快速上手并了解SpringBoot的核心特性。 1. **Spring Initializr**: 创建SpringBoot项目的第一步通常是通过Spring Initializr(启动器)来初始化。这个压缩包中的项目很可能就是通过这个工具...

    2小时学会springboot源码

    在短短的两小时内,我们可以学习到SpringBoot的基本概念、核心特性以及如何快速上手。 首先,我们要了解SpringBoot的核心特性: 1. **自动配置**:SpringBoot通过`@EnableAutoConfiguration`注解来自动配置应用。...

    springboot电子书.zip

    它集成了大量的Spring生态系统的特性,如Spring MVC、Spring Data、Spring Security等,并提供了一种默认配置,使得开发者可以快速上手。 2. **核心特性** - 自动配置:Spring Boot通过“@EnableAutoConfiguration...

    SpringBoot实战(自带目录)第四版PDF下载

    《SpringBoot实战(自带目录)第四版》是针对Java开发者的一本深度技术指南,主要聚焦于Spring Boot框架的使用和实践。Spring Boot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它...

    SpringBoot项目源码

    SpringBoot项目源码是针对基于SpringBoot框架开发的物业管理系统的完整代码实现。SpringBoot是由Pivotal团队开发的,旨在简化Spring应用的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如数据源、定时...

    springboot jar包

    10. **社区支持**:SpringBoot拥有庞大的开发者社区,提供了丰富的文档、教程和开源项目,帮助开发者解决问题和快速上手。 通过理解以上知识点,开发者可以更有效地利用SpringBoot JAR包来构建高效、简洁、易于维护...

    springboot的java配置实例

    SpringBoot是Spring框架的一种简化和快速开发方式,它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、Quartz 等,使得开发者能够快速上手构建自己的应用。在这个"springboot的java配置实例"中,...

    SpringBoot

    SpringBoot 的核心理念是“约定优于配置”,它提供了一种默认的配置,让开发者可以快速上手。例如,通过“starter”依赖管理,只需添加相应模块的 starter,如 spring-boot-starter-web,就可以轻松引入 Web 开发所...

    springboot-template:弹簧启动的样例项目

    SpringBoot是Spring框架的一种简化开发方式,它集成了大量常用的第三方库配置,如JPA、MVC、Redis、WebSocket等,使得开发者可以快速地搭建一个完整的应用。标题"springboot-template"表明这是一个基于SpringBoot的...

    SpringBoot入门学习

    SpringBoot入门学习主要涵盖SpringBoot的基本概念、核心特性以及如何快速搭建一个运行的Web应用。SpringBoot是由Pivotal团队提供的全新框架,旨在...掌握这些内容,你将能够快速上手并高效地开发基于SpringBoot的应用。

    5分钟快速上手Spring Boot

    Spring Boot 是一种快速开发框架,由Pivotal公司开发,旨在简化Java应用程序的初始搭建以及开发过程。它的核心目标是让开发者能更快地构建出基于Spring框架的应用,而无需过多的配置。Spring Boot遵循“约定优于配置...

    很基础的Springboot框架搭建

    8. **Actuator**: 这是一个用于监控和管理应用程序的模块,提供健康检查、审计、指标等信息。 9. **测试支持**: Spring Boot 提供了 `@SpringBootTest` 和其他测试注解,便于进行集成测试和端点测试。 10. **...

    spring-boot-2.7.18.zip

    SpringBoot 是一个基于 Java 的轻量级框架,它旨在简化创建独立、生产级别的基于 Spring 应用程序的流程。...总之,SpringBoot 2.7.18 是一个强大且易于上手的框架,能帮助开发者快速构建高质量的 Spring 应用。

Global site tag (gtag.js) - Google Analytics