您好,登錄后才能下訂單哦!
小編給大家分享一下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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。