一.Springboot监控中心概述
1.什么是Springboot监控中心
- 针对于微服务的服务状态、Http请求资源监控
- 简述:针对微服务服务器监控,服务器内存变化(堆内存变化、线程变化、日志管理等),检测服务配置连接地址是否可用(比如MySQL等的连接可能是懒加载形式的,加载的时候没有报错,当访问的时候才会报错,实现的原理采用模拟访问)、统计现在有多少bean(是Spring容器中的bean)、统计SpringMVCRequestMapping(即统计http接口)
- Actuator监控应用(没有界面,返回json格式)
- AdminUI底层使用Actuator监控应用实现可视化界面
- 应用场景:生产环境
- 默认情况下:监控中心提供三个接口的权限【
/actuator
,/actuator/info
,/actuator/health
】,需要添加properties中的启动端点配置 - Springboot2.0之后,监控中心接口地址发生了变化
- 在2.0之前接口,没有
/actuator/
作为前缀,比如/actuator/beans
在2.0之前就是/beans
- 在2.0之前接口,没有
2.为什么要用监控中心
- Actuator是Springboot的一个附加功能,可帮助你在应用程序生产环境时监控和管理应用程序。可以使用HTTP的各种请求来监管,审计,收集应用的运行情况,特别对于微服务管理十分有意义,缺点:没有可视化界面
二.监控中心之搭建Actuator监控中心
1.项目搭建
-
引入依赖[build.gradle]
//web组件依赖 implementation 'org.springframework.boot:spring-boot-starter-web' //Actuator依赖 implementation 'org.springframework.boot:spring-boot-starter-actuator'
-
配置文件[application.yml]
# 通过下面的配置启动所有的监控端点,默认情况下这些断点是禁用的[启动项目的时候监控的端点] management: endpoints: web: exposure: include: * #在properties中是management.endpoints.web.exposure.include=* spring: profiles: active:prod datasource: driver-class-name:com.mysql.jdbc.Driver url:jdbc:mysql://127.0.0.1:3306/test username:root password:root
-
运行效果如下,只有REST方式访问形式
三.SpringbootActuator监控接口
1.注意事项
- 如果mysql账号或密码错误,在项目启动的时候是不会报错的(底层采用了懒加载的机制),可以使用/actuator/health进行检测
2.Actuator常用访问路径
通过actuator/+端点名获取相应的信息
路径 | 作用 |
---|---|
/actuator/beans | 显示应用程序中所有Springbean的完成列表 |
/actuator/configprops | 显示所有配置信息 |
/actuator/env | 陈列所有的环境变量 |
/actuator/mappings | 显示所有@RequestMapping url整理列表 |
/actuator/health | 显示应用程序运行状况信息,up表示成功,down失败 |
/actuator/info | 查看自定义应用信息【相当于在配置文件中配置info开头的配置信息】 |
-
当访问/actuator/health检测服务器配置返回为do