溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

SpringBoot怎么配置Actuator組件實(shí)現(xiàn)系統(tǒng)監(jiān)控

發(fā)布時(shí)間:2022-04-06 15:42:04 來(lái)源:億速云 閱讀:100 作者:iii 欄目:移動(dòng)開(kāi)發(fā)

這篇文章主要介紹“SpringBoot怎么配置Actuator組件實(shí)現(xiàn)系統(tǒng)監(jiān)控”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“SpringBoot怎么配置Actuator組件實(shí)現(xiàn)系統(tǒng)監(jiān)控”文章能幫助大家解決問(wèn)題。

    一、Actuator簡(jiǎn)介

    監(jiān)控分類

    • Actuator 提供Rest接口,展示監(jiān)控信息。

    • 接口分為三大類:

    • 應(yīng)用配置類:獲取應(yīng)用程序中加載的應(yīng)用配置、環(huán)境變量、自動(dòng)化配置報(bào)告等與SpringBoot應(yīng)用相關(guān)的配置類信息。

    • 度量指標(biāo)類:獲取應(yīng)用程序運(yùn)行過(guò)程中用于監(jiān)控的度量指標(biāo),比如:內(nèi)存信息、線程池信息、HTTP請(qǐng)求統(tǒng)計(jì)等。

    • 操作控制類:提供了對(duì)應(yīng)用的關(guān)閉等操作類功能。

    二、與SpringBoot2.0整合 

    1、核心依賴Jar包

    <!-- 監(jiān)控依賴 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    2、Yml配置文件

    # 端口
    server:
      port: 8016
    
    spring:
      application:
        # 應(yīng)用名稱
        name: node16-boot-actuator
    
    management:
      endpoints:
        web:
          exposure:
            # 打開(kāi)所有的監(jiān)控點(diǎn)
            include: "*"
          # 自定義監(jiān)控路徑 monitor
          # 默認(rèn)值:http://localhost:8016/actuator/*
          # 配置后:http://localhost:8016/monitor/*
          base-path: /monitor
      endpoint:
        health:
          show-details: always
        shutdown:
          # 通過(guò)指定接口關(guān)閉 SpringBoot
          enabled: true
      # 可以自定義端口
      # server:
      #   port: 8089
    
    # 描述項(xiàng)目基礎(chǔ)信息
    info:
      app:
        name: node16-boot-actuator
        port: 8016
        version: 1.0.0
        author: cicada

    三、監(jiān)控接口詳解 

    1、Info接口

    Yml文件中配置的項(xiàng)目基礎(chǔ)信息

    路徑:http://localhost:8016/monitor/info
    輸出:
    {
        "app": {
            "name": "node16-boot-actuator",
            "port": 8016,
            "version": "1.0.0",
            "author": "cicada"
        }
    }

    2、Health接口

    health 主要用來(lái)檢查應(yīng)用的運(yùn)行狀態(tài)

    路徑:http://localhost:8016/monitor/health
    輸出:
    {
        "status": "UP",
        "details": {
            "diskSpace": {
                "status": "UP",
                "details": {
                    "total": 185496236032,
                    "free": 140944084992,
                    "threshold": 10485760
                }
            }
        }
    }

    3、Beans接口

    展示了 bean 的類型、單例多例、別名、類的全路徑、依賴Jar等內(nèi)容。

    路徑: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接口

    查看配置在什么條件下有效,或者自動(dòng)配置為什么無(wú)效。

    路徑:http://localhost:8016/monitor/conditions
    輸出:
    {
        "contexts": {
            "node16-boot-actuator": {
                "positiveMatches": {
                    "AuditAutoConfiguration#auditListener": [{
                        "condition": "OnBeanCondition",
                        "message": "@ConditionalOnMissingBean"
                    }],
        }
    }

    5、HeapDump接口

    自動(dòng)生成Jvm的堆轉(zhuǎn)儲(chǔ)文件HeapDump,可以使用監(jiān)控工具 VisualVM 打開(kāi)此文件查看內(nèi)存快照。

    路徑:http://localhost:8016/monitor/heapdump

    6、Mappings接口

    描述 URI 路徑和控制器的映射關(guān)系

    路徑: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、是否等待鎖、線程的狀態(tài)、線程鎖等相關(guān)信息。

    路徑: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接口

    優(yōu)雅關(guān)閉 Spring Boot 應(yīng)用,默認(rèn)只支持POST請(qǐng)求。

    路徑:http://localhost:8016/monitor/shutdown

    關(guān)于“SpringBoot怎么配置Actuator組件實(shí)現(xiàn)系統(tǒng)監(jiān)控”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI