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

SpringBoot之Actuator基本使用

SpringBoot之Actuator基本使用

  • 引入
  • 分类
    • 常用接口含义
    • health
    • beans
    • conditions
    • heapdump
    • mappings
    • threaddump
    • loggers
    • metrics

引入

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

启动SpringBoot项目,浏览器访问
actuator
actuactor页面
好了,完事,恭喜你已经完成了actuator的基本启动配置,但是这里面的url点开除了health里面是UP,其他基本没啥用啊!!! 就这?
好,下面开启完整版,在application.yml加入配置

management:endpoints:web:exposure:include: "*"

如果只需要部分的话,只开启beans,trace,后面出于安全考虑可以设置拦截器,只在线下环境开启,校验用户信息等

management:endpoints:web:exposure:exclude: beans,trace

如果想更换url,可以加上下面配置

management:endpoints:web:base-path: /healthcheck   #记得要加上/

重新启动
在这里插入图片描述下面详细介绍各个页面配置

分类

Actuator 监控分成两类:原生端点用户自定义端点;自定义端点主要是指扩展性,用户可以根据自己的实际应用,定义一些比较关心的指标,在运行期进行监控。

原生端点是在应用程序里提供众多 Web 接口,通过它们了解应用程序运行时的内部状况。原生端点又可以分成三类:

  • 应用配置类 :可以查看应用在运行期的静态信息:例如自动配置信息、加载的 springbean 信息、yml 文件配置信息、环境信息、请求映射信息;
  • 度量指标类 :主要是运行期的动态信息,例如堆栈、请求连、一些健康指标、metrics 信息等;
  • 操作控制类 :主要是指 shutdown,用户可以发送一个请求将应用的监控功能关闭。

常用接口含义

GET/auditevents显示应用暴露的审计事件 (比如认证进入、订单失败)
GET/beans描述应用程序上下文里全部的 Bean,以及它们的关系
GET/conditions就是 /autoconfig ,提供一份自动配置生效的条件情况,记录哪些自动配置条件通过了,哪些没通过
GET/configprops描述配置属性(包含默认值)如何注入Bean
GET/env获取全部环境属性
GET/env/{name}根据名称获取特定的环境属性值
GET/flyway提供一份 Flyway 数据库迁移信息
GET/liquidbase显示Liquibase 数据库迁移的纤细信息
GET/health报告应用程序的健康指标,这些值由 HealthIndicator 的实现类提供
GET/heapdumpdump 一份应用的 JVM 堆信息
GET/httptrace显示HTTP足迹,最近100个HTTP request/repsponse
GET/info获取应用程序的定制信息,这些信息由info打头的属性提供
GET/logfile返回log file中的内容(如果 logging.file 或者 logging.path 被设置)
GET/loggers显示和修改配置的loggers
GET/metrics报告各种应用程序度量信息,比如内存用量和HTTP请求计数
GET/metrics/{name}报告指定名称的应用程序度量值
GET/scheduledtasks展示应用中的定时任务信息
GET/sessions如果我们使用了 Spring Session 展示应用中的 HTTP sessions 信息
POST/shutdown关闭应用程序,要求endpoints.shutdown.enabled设置为true
GET/mappings描述全部的 URI路径,以及它们和控制器(包含Actuator端点)的映射关系
GET/threaddump获取线程活动的快照

health

health 主要用来检查应用的运行状态,这是我们使用最高频的一个监控点。通常使用此接口提醒我们应用实例的运行状态,以及应用不”健康“的原因,比如数据库连接、磁盘空间不够等。
但是这个只比较笼统的显示服务的状态,详细的信息需要配置

management:endpoint:health:show-details: always

在这里插入图片描述

beans

根据示例就可以看出,展示了 bean 的别名、类型、是否单例、类的地址、依赖等信息。

访问:http://localhost:8080/actuator/beans返回部分信息如下:
在这里插入图片描述

conditions

Spring Boot 的自动配置功能非常便利,但有时候也意味着出问题比较难找出具体的原因。使用 conditions 可以在应用运行时查看代码了某个配置在什么条件下生效,或者某个自动配置为什么没有生效。
访问:http://localhost:8080/actuator/conditions返回部分信息如下:
在这里插入图片描述

heapdump

访问:http://localhost:8080/actuator/heapdump会自动生成一个 Jvm 的堆文件 heapdump,我们可以使用 JDK 自带的 Jvm 监控工具 VisualVM 打开此文件查看内存快照。类似如下图:
在这里插入图片描述

mappings

描述全部的 URI 路径,以及它们和控制器的映射关系
访问:http://localhost:8080/actuator/mappings返回部分信息如下:
在这里插入图片描述

threaddump

/threaddump 接口会生成当前线程活动的快照。这个功能非常好,方便我们在日常定位问题的时候查看线程的情况。 主要展示了线程名、线程ID、线程的状态、是否等待锁资源等信息。
访问:http://localhost:8080/actuator/threaddump返回部分信息如下:
在这里插入图片描述

loggers

访问 http://localhost:8080/actuator/loggers 可以查看当前应用的日志级别等信息:
在这里插入图片描述

metrics

metrics 是一个非常重要的监控端点,其监控内容覆盖了 JVM 内存、堆、类加载、处理器和 tomcat 容器等一些重要指标:
在这里插入图片描述
可以看到这里面包含了非常多的指标,任意访问一个指标就可以查看对应的指标信息:
在这里插入图片描述

http://www.lryc.cn/news/110555.html

相关文章:

  • 排序算法(一)
  • Centos虚拟机忘记密码-修改密码
  • Shell 分析服务器日志常用命令
  • mysql8配置binlog日志skip-log-bin,开启、关闭binlog,清理binlog日志文件
  • 机器学习:训练集与测试集分割train_test_split
  • 淘宝API开发(一)简单介绍淘宝API功能接口作用
  • Redis相关面试题
  • 数据库简介
  • 腾讯云国际轻量应用服务器怎么使用呢?
  • arm环境cloudstack在vpc下创建虚拟机失败
  • Linux上安装Keepalived,多台Nginx配置Keepalived(保姆级教程)
  • centos7 ‘xxx‘ is not in the sudoers file...
  • Zebec Payroll :计划推出 WageLink On-Demand Pay,进军薪酬发放领域
  • 【2023】字节跳动 10 日心动计划——第三关
  • 【无网络】win10更新后无法联网,有线无线都无法连接,且打开网络与Internet闪退
  • HTML <script> 标签
  • FPGA----UltraScale+系列的PS侧与PL侧通过AXI-HP交互(全网唯一最详)附带AXI4协议校验IP使用方法
  • Unity小游戏——迷你拼图
  • 三 动手学深度学习v2 —— Softmax回归+损失函数+图片分类数据集
  • Stable Diffusion 使用教程
  • 在线考试系统springboot学生试卷问答管理java jsp源代码mysql
  • 创建vue-cli(脚手架搭建)
  • 【单调栈part02】| 503.下一个更大元素||、42.接雨水
  • Java——如何使用Stream替换掉List<Student>中符合要求的元素
  • gin 框架中的 gin.Context
  • 新版chrome浏览器恢复下载的时候恢复底栏提示
  • ModuleNotFoundError: No module named ‘lsb_release‘
  • 2021-03-03 Multisim 14.0 电池充电防止反接保护
  • 【AI】《动手学-深度学习-PyTorch版》笔记(八):线性回归
  • uniapp 持续获取定位(登录状态下才获取)(不采用定时器)(任意页面都可监听定位改变)