您的位置:首页技术文章
文章详情页

SpringBoot配置Actuator组件,实现系统监控

浏览:19日期:2023-03-03 15:17:41
目录一、Actuator简介二、与SpringBoot2.0整合 1、核心依赖Jar包2、Yml配置文件三、监控接口详解 1、Info接口2、Health接口3、Beans接口4、Conditions接口5、HeapDump接口6、Mappings接口7、ThreadDump接口8、ShutDown接口四、源代码地址 一、Actuator简介

监控分类

Actuator 提供Rest接口,展示监控信息。 接口分为三大类: 应用配置类:获取应用程序中加载的应用配置、环境变量、自动化配置报告等与SpringBoot应用相关的配置类信息。 度量指标类:获取应用程序运行过程中用于监控的度量指标,比如:内存信息、线程池信息、HTTP请求统计等。 操作控制类:提供了对应用的关闭等操作类功能。二、与SpringBoot2.0整合 1、核心依赖Jar包

<!-- 监控依赖 --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId></dependency>2、Yml配置文件

# 端口server: port: 8016spring: application: # 应用名称 name: node16-boot-actuatormanagement: endpoints: web: exposure:# 打开所有的监控点include: '*' # 自定义监控路径 monitor # 默认值:http://localhost:8016/actuator/* # 配置后:http://localhost:8016/monitor/* base-path: /monitor endpoint: health: show-details: always shutdown: # 通过指定接口关闭 SpringBoot enabled: true # 可以自定义端口 # server: # port: 8089# 描述项目基础信息info: app: name: node16-boot-actuator port: 8016 version: 1.0.0 author: cicada三、监控接口详解 1、Info接口

Yml文件中配置的项目基础信息

路径:http://localhost:8016/monitor/info输出:{ 'app': {'name': 'node16-boot-actuator','port': 8016,'version': '1.0.0','author': 'cicada' }}2、Health接口

health 主要用来检查应用的运行状态

路径:http://localhost:8016/monitor/health输出:{ 'status': 'UP', 'details': {'diskSpace': { 'status': 'UP', 'details': {'total': 185496236032,'free': 140944084992,'threshold': 10485760 }} }}3、Beans接口

展示了 bean 的类型、单例多例、别名、类的全路径、依赖Jar等内容。

路径:http://localhost:8016/monitor/beans输出:{ 'contexts': {'node16-boot-actuator': {'beans': { 'endpointCachingOperationInvokerAdvisor': {'aliases': [],'scope': 'singleton','type': 'org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor','resource': 'class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.class]','dependencies': ['environment'] }} }}4、Conditions接口

查看配置在什么条件下有效,或者自动配置为什么无效。

路径:http://localhost:8016/monitor/conditions输出:{ 'contexts': {'node16-boot-actuator': { 'positiveMatches': {'AuditAutoConfiguration#auditListener': [{ 'condition': 'OnBeanCondition', 'message': '@ConditionalOnMissingBean'}], }}5、HeapDump接口

自动生成Jvm的堆转储文件HeapDump,可以使用监控工具 VisualVM 打开此文件查看内存快照。

路径:http://localhost:8016/monitor/heapdump6、Mappings接口

描述 URI 路径和控制器的映射关系

路径:http://localhost:8016/monitor/mappings输出:{ 'contexts': {'node16-boot-actuator': { 'mappings': {'dispatcherServlets': { 'dispatcherServlet': [ {'handler': 'Actuator web endpoint ’auditevents’','predicate': '{GET /monitor/auditevents || application/json]}','details': { 'handlerMethod': {'className': 'org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebMvcEndpointHandlerMapping.Operat'name': 'handle','descriptor': '(Ljavax/servlet/http/HttpServletRequest;Ljava/util/Map;)Ljava/lang/Object;' }, 'requestMappingConditions': {'consumes': [],'headers': [],'methods': ['GET'],'params': [],'patterns': ['/monitor/auditevents'],'produces': [{ 'mediaType': 'application/vnd.spring-boot.actuator.v2+json', 'negated': false}, { 'mediaType': 'application/json', 'negated': false}] }} } } }}7、ThreadDump接口

展示线程名、线程ID、是否等待锁、线程的状态、线程锁等相关信息。

路径:http://localhost:8016/monitor/threaddump输出:{ 'threads': [{'threadName': 'DestroyJavaVM','threadId': 34,'blockedTime': -1,'blockedCount': 0,'waitedTime': -1,'waitedCount': 0,'lockName': null,'lockOwnerId': -1,'lockOwnerName': null,'inNative': false,'suspended': false,'threadState': 'RUNNABLE','stackTrace': [],'lockedMonitors': [],'lockedSynchronizers': [],'lockInfo': null } ]}8、ShutDown接口

优雅关闭 Spring Boot 应用,默认只支持POST请求。

路径:http://localhost:8016/monitor/shutdown四、源代码地址

GitHub地址:知了一笑https://github.com/cicadasmile/spring-boot-base码云地址:知了一笑https://gitee.com/cicadasmile/spring-boot-base

以上就是SpringBoot配置Actuator组件,实现系统监控的详细内容,更多关于SpringBoot配置Actuator的资料请关注好吧啦网其它相关文章!

标签: Spring