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

目录一、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:/monitorendpoint:health:show-details:alwaysshutdown:#通过指定接口关闭SpringBootenabled:true#可以自定义端口#server:#port:8089#描述项目基础信息info:app:name:node16-boot-actuatorport:8016version:1.0.0author: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":"classpathresource[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/heapdump

6、Mappings接口

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

路径:http://localhost:8016/monitor/mappings输出:{"contexts":{"node16-boot-actuator":{"mappings":{"dispatcherServlets":{"dispatcherServlet":[{"handler":"Actuatorwebendpoint'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的资料请关注其它相关文章!

人生如果错了方向,停止就是进步”。

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

相关文章:

你感兴趣的文章:

标签云: