SpringBoot Admin监控搭建
什么是Acturtor
首先我们需要知道,微服务的特点决定了功能模块的部署是分布式的,大部分功能模块都是运行在不同的机器上,彼此通过服务调用进行交互,前后台的业务流会经过很多个微服务的处理和传递,出现了异常如何快速
定位是哪个环节出现了问题?
答:在这种情况下,微服务的监控显得尤为重要。springboot作为微服务框架,除了它强大的快速开发功能外,还有就是它提供了actuator模块,引入该模块能够自动为springboot应用提供一系列用于监控的端点。
Actuator概念
Actuator是spring boot的一个附加功能,可帮助你在应用程序生产环境时监视和管理应用程序。可以使用HTTP的各种请求来监管,审计,收集应用的运行情况。Spring Boot Actuator提供了对单个Spring Boot的监控,信息包含:应用状态、内存、线程、堆栈等等,比较全面的监控了Spring Boot应用的整个生命周期。特别对于微服务管理十分有意义。
Actuator监控断点
Actuator中监控端点可以分为两类:1、自定义端点 2、原生端点
自定义端点:主要是指扩展性,用户可以根据自己的实际应用,定义一些比较关心的指标,在运行期实行监控。
原生端点:应用程序里提供众多 Web 接口,通过它们了解应用程序运行时的内部状况。原生端点又可以分为应用配置类、度量指标类、操作控制类。
应用配置类:可以查看应用在运行期的静态信息:例如自动配置信息、加载的 springbean信息、yml 文件配置信息、环境信息、请求映射信息;
度量指标类:主要是运行期的动态信息,例如堆栈、请求链、一些健康指标、metrics 信息等;
操作控制类:主要是指 shutdown,用户可以发送一个请求将应用的监控功能关闭。
Actuator对外提供了13个接口,具体如下:
HTTP方法 | 路径 | 描述 |
---|---|---|
GET | /auditevents | 显示应用暴露的审计事件 |
GET | /beans | 描述应用程序上下文里全部的 Bean |
GET | /conditions | 就是 1.0 的 /autoconfig,提供一份自动配置生效的条件情况,记录哪些自动配置条件通过了,哪些没通过 |
GET | /configprops | 描述配置属性(包含默认值)如何注入Bean |
GET | /env | 获取全部环境属性 |
GET | /env/{name} | 根据名称获取特定的环境属性 |
GET | /flyway | 提供一份 Flyway 数据库迁移信息 |
GET | /liquidbase | 显示Liquibase 数据库迁移信息 |
GET | /health | 报告应用程序的健康指标,这些值由HealthIndicator的实现类提供 |
GET | /heapdump | dump 一份应用的 JVM 堆信息 |
GET | /httptrace | 显示HTTP足迹,最近100个Http request/response |
GET | /info | 获取应用程序的定制信息,这些信息由info开头的属性提供 |
GET | /logfile | 返回log file中的内容(如果logging.file或者logging.path被设置 |
GET | /loggers | 显示和修改配置的loggers |
GET | /metrics/{name} | 报告指定名称的应用程序度量值 |
GET | /scheduledtasks | 展示应用中的定时任务信息 |
GET | /sessions | 如果我们使用了 Spring Session 展示应用中的 HTTP sessions 信息 |