溫馨提示×

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

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

SpringBoot2中怎么配置Actuator組件

發(fā)布時(shí)間:2021-07-08 17:24:05 來源:億速云 閱讀:201 作者:Leah 欄目:編程語言

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)SpringBoot2中怎么配置Actuator組件,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

一、Actuator簡(jiǎn)介

1、監(jiān)控組件作用

在生產(chǎn)環(huán)境中,需要實(shí)時(shí)或定期監(jiān)控服務(wù)的可用性。Spring Boot的actuator(健康監(jiān)控)功能提供了很多監(jiān)控所需的接口,可以對(duì)應(yīng)用系統(tǒng)進(jìn)行配置查看、相關(guān)功能統(tǒng)計(jì)等。

2、監(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)行過程中用于監(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:
        # 打開所有的監(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ā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 主要用來檢查應(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)配置為什么無效。

路徑: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 打開此文件查看內(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
    }
    ]
}

上述就是小編為大家分享的SpringBoot2中怎么配置Actuator組件了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(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