这篇文章主要介绍“SpringBoot怎么配置Actuator组件实现系统监控”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot怎么配置Actuator组件实现系统监控”文章能帮助大家解决问题。
监控分类
Actuator 提供Rest接口,展示监控信息。
接口分为三大类:
应用配置类:获取应用程序中加载的应用配置、环境变量、自动化配置报告等与SpringBoot应用相关的配置类信息。
度量指标类:获取应用程序运行过程中用于监控的度量指标,比如:内存信息、线程池信息、HTTP请求统计等。
操作控制类:提供了对应用的关闭等操作类功能。
<!-- 监控依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
# 端口 server: port: 8016 spring: application: # 应用名称 name: node16-boot-actuator management: 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
Yml文件中配置的项目基础信息
路径:http://localhost:8016/monitor/info 输出: { "app": { "name": "node16-boot-actuator", "port": 8016, "version": "1.0.0", "author": "cicada" } }
health 主要用来检查应用的运行状态
路径:http://localhost:8016/monitor/health 输出: { "status": "UP", "details": { "diskSpace": { "status": "UP", "details": { "total": 185496236032, "free": 140944084992, "threshold": 10485760 } } } }
展示了 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"] } } } }
查看配置在什么条件下有效,或者自动配置为什么无效。
路径:http://localhost:8016/monitor/conditions 输出: { "contexts": { "node16-boot-actuator": { "positiveMatches": { "AuditAutoConfiguration#auditListener": [{ "condition": "OnBeanCondition", "message": "@ConditionalOnMissingBean" }], } }
自动生成Jvm的堆转储文件HeapDump,可以使用监控工具 VisualVM 打开此文件查看内存快照。
路径:http://localhost:8016/monitor/heapdump
描述 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 }] } } } } } }
展示线程名、线程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 } ] }
优雅关闭 Spring Boot 应用,默认只支持POST请求。
路径:http://localhost:8016/monitor/shutdown
关于“SpringBoot怎么配置Actuator组件实现系统监控”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。