Spring Boot Actuator认识
概述
spring-boot-starter-actuator:是一个用于暴露自身信息的模块,主要用于监控与管理。
为了保证actuator暴露的监控接口的安全性,需要添加安全控制的依赖spring-boot-start-security依赖,访问应用监控端点时,都需要输入验证信息。
关键配置:
//敏感信息访问限制(单个接口)
endpoints.mappings.sensitive=true
//安全限制
management.security.enabled=false
//启用和禁用接口(单个接口)
//默认情况下,所有接口(除了/shutdown)都启用。
endpoints.metrics.enabled = false
//禁用全部接口
endpoints.enabled = false
Actuator监控分类
- 原生端点:在应用程序中提供众多Web接口,通过它们了解应用程序运行时的内部状况。主要分三类:
- 应用配置类:可以查看应用运行期的静态信息,例如自动配置信息、加载的Springbean信息、yml文件配置信息、环境变量、请求映射信息。
- 度量指标类:主要是运行期的动态信息,例如堆栈、请求链、内存信息、线程池信息、HTTP请求统计等。
- 操作控制类:主要是指shutdown,用户可以发送一个请求将应用的监控功能关闭。
- 用户自定义端点:扩展性
Actuator的REST接口
| HTTP方法 | 路径 | 描述 |
|---|---|---|
| GET | /autoconfig | 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没有通过 |
| GET | /configprops | 描述配置属性(包含默认值)如何注入Bean |
| GET | /beans | 描述应用程序上下文里面全部的Bean,以及它们的关系 |
| GET | /dump | 获取线程活动的快照 |
| GET | /env | 获取全部环境属性 |
| GET | /env/{name} | 根据名称获取特定的环境属性值 |
| GET | health | 报告应用程序的健康指标,这些值由HealthIndicator的实现类提供 |
| GET | /info | 获取应用程序的定制信息,这些信息由info打头的属性提供 |
| GET | /mappings | 描述全部的URI路径,以及它们和控制器(包含Actuator端点)的映射关系 |
| GET | /metrics | 报告各种应用程序度量信息,比如内存用量和HTTP请求数 |
| GET | /metrics/{name} | 报告指定名称的应用程序度量值 |
| POST | /shutdown | 关闭应用程序,要求endpoints.shutdown.enabled设置为true |
| GET | /trace | 提供基本的HTTP请求跟踪信息(时间戳、HTTP头等) |
命令详解
- autoconfig:用于程序运行时查看某个配置什么条件下生效、或者为什么没有生效。
- configprops:查看配置文件中设置的属性内容、以及一些配置属性的默认值。关注配置信息。
- beans:展示了bean的别名、类型、是否单例、类的地址、依赖等信息。
- dump:生成当前线程活动的快照,包括线程名、线程ID、线程的状态、是否等待锁资源等信息。
- env:展示了系统环境变量的配置信息,包括使用的环境变量、JVM属性、命令行参数、项目使用的jar包等信息。关注运行环境信息。
- 为了敏感信息暴露,所有名为password、secret、key(或者名字最后一段是这些)的属性会展示为*。
- /env/{name}:获取指定配置信息
- health:可以查看HealthEndPoint给我们提供默认的监控结果,包含磁盘检测、数据库检测。
- info:就是我们自己配置在配置文件中以Info开头的配置信息。
- mappings:描述全部的URI路径,已经它们和控制器的映射关系。
- metrics:最重要的监控内容之一,主要监控了JVM使用、GC情况、类加载信息等。
metrics提供信息分类:
| 分类 | 前缀 | 报告内容 |
|---|---|---|
| 垃圾收集器 | gc.* | GC次数、GC耗费的时间,适用于标记-清理垃圾收集器和并行收集器(数据来源于java.lang.management.GarbageCollectorMXBean) |
| 内存 | mem.* | 分配给应用程序的内存数量和空闲的内存数量(数据源自java.lang.Runtim) |
| 堆 | heap.* | 当前堆内存用量,数据源自java.lang.management.MemoryUsage |
| 类加载器 | classes.* | JVM类加载器加载与卸载的类的数量,数据源自java.lang. management.ClassLoadingMXBean |
| 系统 | processors、instance.uptime、uptime、systemload.average | 系统信息,例如处理器数量(数据源自java.lang.Runtime)、运行时间(数据源自java.lang.management.RuntimeMXBean)、平均负载(数据源自java.lang.management.OperatingSystemMXBean) |
| 线程池 | thread.* | 线程、守护线程的数量、JVM启动后的线程数量峰值(数据源自java.lang .management.ThreadMXBean) |
| 数据源 | datasource.* | 数据源链接的数量(DataSource Bean) |
| Tomcat会话 | httpsessions.* | Tomcat的会话数和最大会话数(疏数据源自嵌入式Tomcat的Bean) |
| HTTP | counter.status.*、gauge.reponse. | 多种应用程序HTTP请求的度量值与计数器 |
- shutdown:优雅关闭Sprint Boot应用。
- trace:能报告所有Web请求的详细信息,包括请求方法、路径、时间戳以及请求和响应的header信息。
Spring Boot Actuator认识的更多相关文章
- Complete Guide for Spring Boot Actuator
You are here to learn about Spring Boot Actuator for collecting metrics about your production grade ...
- springboot(十九):使用Spring Boot Actuator监控应用
微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速定位是哪个环节出现了问题? ...
- spring boot admin + spring boot actuator + erueka 微服务监控
关于spring boot actuator简单使用,请看 简单的spring boot actuator 使用,点击这里 spring boot admin 最新的正式版本是1.5.3 与 spri ...
- spring boot actuator 简单使用
spring boot admin + spring boot actuator + erueka 微服务监控 简单的spring boot actuator 使用 POM <dependenc ...
- 使用Spring Boot Actuator、Jolokia和Grafana实现准实时监控
由于最近在做监控方面的工作,因此也读了不少相关的经验分享.其中有这样一篇文章总结了一些基于Spring Boot的监控方案,因此翻译了一下,希望可以对大家有所帮助. 原文:Near real-time ...
- spring boot actuator专题
spring-boot-starter-actuator模块的实现对于实施微服务的中小团队来说,可以有效地减少监控系统在采集应用指标时的开发量.当然,它也并不是万能的,有时候我们也需要对其做一些简单的 ...
- 使用Spring Boot Actuator将指标导出到InfluxDB和Prometheus
使用Spring Boot Actuator将指标导出到InfluxDB和Prometheus Spring Boot Actuator是Spring Boot 2发布后修改最多的项目之一.它经过 ...
- (转)Spring Boot (十九):使用 Spring Boot Actuator 监控应用
http://www.ityouknow.com/springboot/2018/02/06/spring-boot-actuator.html 微服务的特点决定了功能模块的部署是分布式的,大部分功能 ...
- 朱晔和你聊Spring系列S1E7:简单好用的Spring Boot Actuator
阅读PDF版本 本文会来看一下Spring Boot Actuator提供给我们的监控端点Endpoint.健康检查Health和打点指标Metrics等所谓的Production-ready(生产环 ...
- Spring Boot Actuator 使用
转载于:https://www.jianshu.com/p/af9738634a21 Spring Boot 的 Actuator 提供了很多生产级的特性,比如监控和度量Spring Boot 应用程 ...
随机推荐
- 机器学习技法笔记:12 Neural Network
Roadmap Motivation Neural Network Hypothesis Neural Network Learning Optimization and Regularization ...
- 【sping揭秘】23、Spring框架内的JNDI支持
JndiTemplate 经过jdbctemplate,transactionTemplate...的洗礼,想必大家看到template就知道是个什么尿性了吧 一样的,我们只需要调用jnditempl ...
- Xamarin.Android 压缩图片并上传到WebServices
随着手机的拍照像素越来越高,导致图片赞的容量越来越大,如果上传多张图片不进行压缩.质量处理很容易出现OOM内存泄漏问题. 最近做了一个项目,向webservices上传多张照片,但是项目部署出来就会出 ...
- ES6中的proxy
1 概述 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写. Proxy 这个词的原意是代理,用在这 ...
- 从零开始学 Web 之 CSS3(七)多列布局,伸缩布局
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 从零开始学 Web 之 移动Web(五)touch事件的缺陷,移动端常用插件
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- JVM笔记11-类加载器和OSGI
一.JVM 类加载器: 一个类在使用前,如何通过类调用静态字段,静态方法,或者new一个实例对象,第一步就是需要类加载,然后是连接和初始化,最后才能使用. 类从被加载到虚拟机内存中开始,到卸载出内存为 ...
- sql 表连接
join (inner join ) 注释:INNER JOIN 关键字在表中存在至少一个匹配时返回行. left join 注释:LEFT JOIN 关键字从左表(table1)返回所有的行,即 ...
- CMMI三个过程域的流程及达到特定目标、共性目标的要求(RD需求管理过程,PI产品集成过程,TS技术解决方案)
RD需求管理过程 通过面谈的方式获取相关干系人关于产品生命周期各阶段的需求.期望,限制条件,接口 将相关干系人的需求.期望,限制条件,接口转化成用户需求说明书 依据客户需求,确定产品或产品组件需求,形 ...
- Struts2学习(三)———— 输入校验和拦截器
一.输入校验 在以前我们写一个登录页面时,并没有限制用户的输入,不管用户输入什么,我们都存入数据库中,很显然这是不行的,我们需要检测用户输入的文本是否合法,是否符合我们需要的文本格式,符合菜放行,而s ...