一、概述
微服务是目前较为热门的技术,Spring boot 是 Spring 的一套快速配置脚手架,可以基于Spring boot 快速开发单个微服务,微服务的特点决定了功能模块分布式部署,在不同的机器上相互通过服务调用进行交互,业务流会经过多个微服务的处理和传递。
多个微服务下,微服务的监控显得尤为重要。Actuator组件为Spring Boot提供对应用系统的监控和管理的集成功能,可以查看应用配置的详细信息,例如自动化配置信息、创建的Spring beans信息、系统环境变量的配置信以及Web请求的详细信息等。
如果Actuator
使用不当或者一些不经意的疏忽,可能造成信息泄露等严重的安全隐患。/heapdump
作为Actuator
组件最为危险的Web接口,如Actuator
配置不当,攻击者可无鉴权获取heapdump
堆转储文件,分析heapdump
堆转储文件进一步获取敏感信息。
Actuator
用来对应用系统进行自省和监控的功能模块,其提供的执行器端点分为两类:
1.原生端点
2.用户自定义扩展端点
原生端点主要有:
HTTP 方法 | 路径 | 描述 |
---|---|---|
GET | /dump | 获取当前应用的所有线程dump情况。当出现内存占用过高等情况下,可以帮助分析线程的使用情况,帮助定位问题。 |
GET | /heapdump | 堆转储文件 |
GET | /env | 获取全部环境属性 |
GET | /env/{name} | 根据名称获取特定的环境属性值 |
GET | /autoconfig | 提供了一份自动配置报告,记录哪些自动配置条件通过了,哪些没通过 |
GET | /configprops | 描述配置属性(包含默认值)如何注入 Bean |
GET | /beans | 描述应用程序上下文里全部的 Bean,以及它们的关系 |
GET | /health | 报告应用程序的健康指标,这些值由 HealthIndicator 的实现类提供 |
GET | /info | 获取应用程序的定制信息,这些信息由 info 打头的属性提供 |
GET | /mappings | 描述全部的 URI 路径,以及它们和控制器(包含 Actuator 端点)的映射关系 |
GET< |