全部產品
Search
文件中心

Cloud Monitor:Java 應用自訂配置

更新時間:Jun 03, 2026

您可以在自訂配置頁簽上調整探針功能開關、採樣策略等常用設定。

前提條件

已將應用接入CloudMonitor2.0

功能入口

  1. 登入CloudMonitor2.0控制台,選擇目標工作空間,在左側導覽列選擇所有功能 > 應用可觀測 > 應用監控

  2. 應用列表頁面單擊目標應用程式名稱,然後在頂部導覽列選擇應用配置 > 自訂配置

  3. 設定自訂配置參數,設定完成後,單擊儲存

採樣設定

採樣設定地區,可以為調用鏈設定採樣策略和採樣介面名稱。更多資訊,請參見調用鏈取樣模式選擇(3.2.8及以上探針版本)

探針開關設定

探针开关设置地區,可以控制應用監控的啟停並調整各外掛程式開關。

重要

應用監控的啟停修改即時生效,無需重啟應用。如果暫停應用監控,則系統將無法監控您的應用,請謹慎操作。要使對各外掛程式開關的修改生效,必須手動重啟應用。

image

應用日誌關聯配置

應用日誌關聯配置地區,可以設定應用關聯的日誌源資訊,自動填滿TraceId、SpanId。

  • 自動填滿TraceId、SpanId配置作用:開啟後,無需手動修改日誌設定檔即可往日誌中自動注入Trace ID、Span ID。

    配置效果

    如下所示,在未修改日誌設定檔情況下,log4j、log4j2、logback均自動在日誌中列印了Trace ID和Span ID。

    # log4j
    2024-01-12 17:13:41 INFO  [TraceId:B3f21xxx SpanId:xxx] This is a simple trace log
    2024-01-12 17:13:41 INFO  [TraceId:B3f21xxx SpanId:xxx] This is a log with exception
    
    # log4j2
    2024-01-12 17:14:06 INFO  [TraceId:B3f21xxx SpanId:xxx] This is a log4j2 annotation
    2024-01-12 17:14:06 INFO  [TraceId:B3f21xxx SpanId:xxx] This is a log4j2 exception
    
    # logback
    2024-01-12 17:14:45 INFO  [TraceId:B3f21xxx SpanId:xxx] This is a simple trace log
    2024-01-12 17:14:45 INFO  [TraceId:B3f21xxx SpanId:xxx] This is a log with exception
  • 支援日誌MDC中添加traceId:4.x探針中預設不再支援通過org.slf4j.MDC.get(“EagleEye-TraceID”)方式擷取TraceId,如果仍需通過該方式擷取,可以開啟當前開關。

Arthas監控

Arthas监控地區,可以開啟或關閉Arthas診斷功能,並設定生效IP。更多資訊,請參見Arthas診斷

image.png

持久性能剖析設定

持久性能剖析設定地區,可以開啟或關閉總開關、CPU熱點、記憶體熱點、代碼熱點功能,並設定生效IP或網段。

資訊脫敏設定

信息脱敏设置地區,通過設定脫敏規則,探針將對JVM系統參數、K8s Yaml、方法入參、Arthas環境變數和系統變數等內容在採集時進行脫敏處理。脫敏規則中各元素通過英文半形逗號分隔,每一個元素代表一個不區分大小寫Regex,以password為例,脫敏規則等同於Regex.*password.*

探針在採集資料時會對資料的key按照對應的運算式進行過濾,如果滿足條件,該key會被認為包含敏感性資料進行脫敏處理。如下圖所示,當脫敏規則為licenseKey時,其對-Darms.licenseKey為key的資訊進行了脫敏處理。資訊脫敏2

IP脫敏開啟後效果如下:

介面調用配置

介面調用配置地區,可以設定慢調用閾值、異常白名單、HTTP狀態代碼白名單、無效介面調用過濾等策略。

  • 慢調用閾值:預設為500,當介面回應時間大於該閾值的時候,該介面會被標記為慢調用。

  • HTTP狀態代碼白名單

    預設情況下,HTTP 狀態代碼大於等於 400 會被歸類為錯誤調用。如果您不希望某類狀態代碼被歸類為錯誤,可以設定白名單來忽略這類錯誤。

    僅對應用監控當前支援的 HTTP 架構產生影響。

    影響資料:HTTP 服務端/用戶端的錯誤數指標(arms_http_requests_error_count、arms_http_client_requests_error_count、arms_app_requests_error_count)、Span 狀態。

    影響功能實體詳情提供服務依賴服務頁簽中的錯誤數,調用鏈分析頁面的 Span 狀態、錯誤數警示。

    內容格式:填寫單一狀態代碼,多個狀態代碼用英文半形逗號(,)分隔,不支援模糊比對。

    樣本403,502

    預設值:空

  • 無效介面調用過濾

    如果您不希望在提供服務頁簽看到這類調用,可以輸入不需要查看調用情況的介面名,探針將不會上報相關介面產生的觀測資料,從而將其從介面調用頁面隱去。

    說明
    • 對於4.2.0以下版本Java 探針,該功能僅會對提供服務中出現的介面有效。

    • 對於4.2.0及以上版本Java 探針,該功能會對任意一個LocalRootSpan生效。

    影響資料:介面對應的所有指標、Span 都會被忽略。

    影響功能實體詳情提供服務依賴服務頁簽對應介面的所有指標,調用鏈分析頁面的 Span 數量、對應介面的調用量、錯誤數、慢調用警示。

    內容格式:使用字串AntPath 運算式匹配無效介面全名,多個規則請使用英文半形逗號(,)分隔。(預設值的 AntPath 運算式寫法是為了相容存量資料,不建議刪除,新增配置請拼接在原有規則之後)。

    樣本/api/test/*,/api/playground/create

    預設值/**/*.jpg,/**/*.png,/**/*.js,/**/*.jpeg,/**/*.pdf,/**/*.xlsx,/**/*.txt,/**/*.docs,/**/*.gif,/**/*.csv

  • 介面調用指標是否記錄上遊介面名介面調用指標是否記錄上遊應用程式名稱

    配置作用:控制介面指標中是否記錄調用該介面的上遊應用和上遊介面,主要影響提供服務中的鏈路上下遊是否有資料。當應用的上遊應用較多時,記錄該資訊可能導致指標上報量劇增,增加費用。

    配置效果:關閉介面指標記錄上遊應用和介面後,相應的資料降為0。

  • 介面調用指標是否記錄原始狀態代碼

    配置作用:在HTTP介面相關指標中記錄原始的響應碼。

    配置效果

    開啟後,在HTTP介面相關指標中將顯示原始HTTP響應碼(如200、301、404、500等),協助您更精確地分析介面調用情況。

資料庫調用配置

資料庫調用配置地區,可以設定慢SQL閾值、採集SQL最大保留長度,並設定是否展示SQL中的變數綁定值以及常量值,是否記錄MySQL查詢傳回值大小。

  • 展示SQL中的變數綁定值:捕獲PrepareStatement參數綁定的變數值,無需重啟應用即可生效。

    記錄PrepareStatement參數綁定的變數值,該值會儲存在對應的資料庫訪問Span的Attribute中,Key為db.bindvalue,Value為逗號分隔的多個變數值,無需重啟應用即可生效。

    • 當前ARMS支援的所有JDBC類架構均支援該設定。

    • 支援該設定的資料庫變數類型:Boolean、Byte、Short、Int、Long、Float、Double、BigDecimal、Date。

    • 開啟該開關會造成額外的開銷,和SQL語句中變數的個數正相關,官方壓測情境下(一個變數)開啟該開關CPU額外開銷0.5%以下,記憶體額外開銷可忽略不計。

    開啟開關實際效果如下所示:

    Span詳情頁面的Attribute列表中將新增db.bindvalue條目,其值為SQL執行時綁定的參數值。

  • 展示SQL中的常量值:僅對SQL截斷,不做額外處理,無需重啟應用即可生效。當不同SQL語句包含的常量取值不同時,可能導致SQL語句較為發散而被統一收斂為{ARMS_OTHERS},不建議開啟。

Trace上下文傳播通訊協定設定

Trace上下文傳播通訊協定設定地區,您可以根據自己的需求選擇使用的Trace上下文傳播協議

預設情況下,ARMS探針會根據一次請求的Header中是否包含指定協議頭來選擇對應的Trace上下文傳播協議。更多資訊,請參見Trace上下文傳播協議選擇策略

您可以在該頁面選擇任一協議作為優先協議。選擇並儲存後,ARMS會優先探測是否存在該協議約定的要求標頭。例如,將優先協議設為Jaeger後,當一次調用到來時,ARMS探針將會改為按照Jaeger、EagleEye、W3C、SkyWalking、Zipkin的順序依次探測是否存在協議約定上下文。

您也可以選擇強制使用某一種協議。例如,將傳播協議強制設為Jaeger後,當一次調用到來時,ARMS探針只會探測是否存在Jaeger協議約定的要求標頭,如果不存在,不會依次檢測其他協議,而是重建新的Trace上下文。

配置作用:

支援選擇優先或者強制使用的Trace上下文傳播協議,一般有以下幾種使用情境:

  • 請求攜帶多種格式的Trace上下文,預設的解析順序不滿足要求,想要指定優先使用某種協議。比如同時攜帶W3C和Zipkin的Trace上下文,預設情況下優先解析W3C的Trace上下文,可以通過設定傳播協議為Zipkin改為優先解析Zipkin協議。

  • 請求攜帶Trace協議頭,但是不想複用該協議頭,想要按照另外一種協議產生新的Trace上下文。比如同時攜帶Zipkin的Trace上下文,預設情況下會解析Zipkin的Trace上下文,可以通過設定傳播協議為W3C,並將傳播模式改為強制,這樣就會忽略Zipkin的Trace上下文,並按照W3C的協議規範產生新的上下文,需要注意,如果此時不將傳播模式改為強制,則在優先按照W3C解析上下文失敗後,仍然會按照Zipkin協議解析上下文。

配置效果:

配置後,在調用鏈的每一個LocalRootSpan中會有一個key為trace.protocol.type,value為當前鏈路trace協議的attribute。

探針採集配置

探針採集配置地區,可以設定探針每秒最大鏈路採集量、最大可處理QPS閾值和探針記錄層級。

  • 是否採集調用鏈:控制調用鏈資料是否上報,預設開啟,關閉後,調用鏈資料不再上報。

  • 探針每秒最大鏈路採集量:探針每秒可上報的Span數量(出於效能考慮,實際生效閾值和使用者配置閾值有5%以內偏差),超出部分的Span不會上報。

  • 探針最大可處理QPS閾值: 探針每秒可處理的請求數量(出於效能考慮,實際生效閾值和使用者配置閾值有5%以內偏差),超出該閾值的請求不會被監控,即不會對超出閾值的請求產生Span或者記錄指標,日誌關聯TraceId功能也不會生效。

  • 採集無入口內部調用資料:在ARMS中,應用提供的HTTP服務、RPC服務、應用被觸發執行的定時任務和訊息消費被認為是入口,在這些入口的商務邏輯中發生的資料庫調用、HTTP請求發送等調用則被認為是有入口的內部調用。反之,如果是通過JDK線程池啟動的一些定時執行的HTTP調用、資料庫調用、NoSQL調用、訊息發送、RPC調用等則被認為是無入口內部調用。在4.2.2及之後版本支援一鍵過濾該類資料,在Lettuce架構中會定期自動執行一些命令保證與Redis服務端的串連正常,這類調用就屬於無入口內部調用,在關閉該開關後,相關資料消失。

  • 探針記錄層級:調整探針日誌的列印層級,用於問題排查。

異常進階過濾配置

異常進階過濾配置地區,可以設定異常採集規則。

  • 採集外掛程式異常:是否採集外掛程式異常。

  • 同類異常堆棧區分深度:預設為2。基於此堆棧深度識別同類型的異常。修改此配置會造成非預期的統計行為,請您謹慎操作。

  • 異常過濾白名單

    如果您不希望在異常分析頁簽看到這類異常,可以輸入不需要統計為異常的異常全限定類名,從而將其從異常分析頁面隱去。

    影響資料:異常數指標(arms_exception_requests_count_raw、arms_exception_requests_seconds_raw)、Span 中的異常資訊。

    影響功能異常分析頁簽對應異常的指標、調用鏈分析頁面 Span 中的異常資訊、對應異常的異常數警示。

    內容格式:使用異常全限定類名標識需要過濾的異常,多個異常請使用英文半形逗號(,)分隔。

    樣本java.lang.InterruptedException,java.lang.IndexOutOfBoundsException

    預設值:無

  • 異常過濾父類繼承:開啟後,如果當前採集到異常是異常過濾白名單中配置的異常類的子類,則也會被過濾。

    配置效果:滿足過濾條件的異常將不會展示在ARMS控制台。

  • 異常message過濾:配置後,指定類型異常的message欄位滿足配置條件時也會被過濾。

    • 異常名稱:指定對哪個異常生效。

    • message條件:異常message的條件、可以是startsWith、endsWith或contains。

    • message關鍵字:關鍵字字串。

    配置效果:滿足過濾條件的異常將不會展示在ARMS控制台。

池化監控配置

池化監控配置地區,可以設定線程池、串連池相關採集規則。

  • 線程池、串連池監控:支援Tomcat/Dubbo/HSF等架構的線程池指標監控,需升級探針至最新版本。

  • 線程池線程名模式提取策略:該功能預設將線程池中任意一個運行線程的線程名中所有數字字元替換為*,您也可以調整為僅將線程名的結尾字元替換為*。一般在應用中啟動了多個Dubbo Provider,且不同Dubbo Provider的監聽連接埠不一致的情況下,如果按照預設策略,則兩個Dubbo Provider中的兩個線程池因為提取出來的線程名模板相同會被彙總成一個,此時可以通過調整該策略來區分為兩個線程池。

    配置效果:以常見的Tomcat線程池為例,預設情況下展示的線程池線程名為http-nio-*-exec-*,調整後線程名為http-nio-9099-exec-*

  • 線程池使用情境過濾線程池線程名模式過濾:按照線程池使用情境和線程池線程名模式過濾不上報某些線程池的監控指標。

    說明

    該配置僅對 4.2.0 及以上版本的Java探針生效。

    • 線程池使用情境:指該線程使用的情境,目前支援Tomcat、Vert.x、Undertow、Dubbo、Jetty、AliyunJavaAgent、default幾種,其中AliyunJavaAgent代表探針使用的線程池,default代表未歸類的其他線程池。

    • 線程池線程名模式:指該線程池中線程名經過處理得到的線程名模式,例如http-nio-*-exec-*一般是將實際線程中數字部分替換為*後得到線程名。

    影響資料線程池指標

    影響功能線程池監控頁簽、基於線程池監控指標配置的警示。

    內容格式

    • 線程池使用情境過濾:線程池監控頁簽展示的使用情境,多個使用情境請使用英文半形逗號(,)分隔。

    • 線程池線程名模式過濾:線程池監控頁簽展示的線程名模式,多個使用情境請使用英文半形逗號(,)分隔。匹配方式為精確匹配,不支援規則匹配。

    樣本

    • 線程池使用情境過濾:AliyunJavaAgent,Jetty

    • 線程池線程名模式過濾:Catalina-utility-*,DubboServerHandler-*-thread-*

    代表 AliyunJavaAgent 這個情境下所有線程池資料不上報,其他情境下如果線程池模式名為 Catalina-utility-* 則也不上報。

    預設值:無

Span attributes配置

  • 記錄 OTel Spec 約定attributesOpenTelemetry Specification中為每一種外掛程式類型約定了其產生Span所應當包含的Attributes項,但ARMS探針出於資料上報量考慮,預設情況下在Span中並不會記錄這些Attributes,您可以按照自身需求開啟,開啟後,各架構會增加的Attributes請參見OpenTelemetry Specification

    以下樣本是一個HTTP Server的Span,其中標記的Attributes是開啟當前開關後新增的Attributes。

    例如,開啟後HTTP Server Span中將新增http.request.methodurl.schemeurl.pathserver.addressserver.port等Attributes。

  • Span關聯應用標籤配置:用於控制當前在控制台應用列表頁面為應用綁定的標籤會被附在哪些Span上,預設情況下,所有Span都會包含應用標籤。出於用量考慮,您可以將應用標籤僅附在入口Span上(入口Span一般包括HTTP Server、RPC Server、MQ消費訊息、定時任務)。

    配置為附在入口Span後,例如,應用程式套件含如下一對test1:value1的應用標籤。

    對於入口Span,可以看到對應標籤的Attributes。

    對於非入口Span,不包含test1:value的Attributes。

進階設定

進階設定地區,可以設定需過濾的介面、方法堆棧最大長度等。

  • 分位元統計:是否開啟分位元統計功能。

  • 調用鏈壓縮:是否將重複調用(例如for迴圈)簡化。

  • 請求入參最大展示長度:預設為512字元,支援的最大長度為2048字元。

  • HTTP返回結果中包含TraceId:僅針對HTTP類型的請求,在Response Header中返回欄位為eagleeye-traceid。

  • JVM GC觸發根因:開啟後可以查看JVM GC觸發原因。您可以在JVM監控頁面查看監控詳情,GC觸發原因說明請參見GC相關指標

將配置複製到其他應用

如果您需要為其他應用同步相同配置,可以將對應配置複製到其他應用上。

將單個配置複製到其他應用

  1. 在對應配置地區單擊批量複製到其他應用

  2. 如果彈出當前設定未儲存對話方塊,請單擊確定儲存本應用配置後,再單擊儲存並批量複製到其他應用

  3. 在彈出的對話方塊中選擇生效的應用,然後單擊確定

將所有配置複製到其他應用

  1. 在頁面底部單擊儲存並批量複製到其他應用

  2. 如果彈出當前設定未儲存對話方塊,請單擊確定儲存本應用配置後,再單擊儲存並批量複製到其他應用

  3. 在彈出的對話方塊中選擇生效的應用,然後單擊確定

自訂配置模板

您可以將當前配置儲存為自訂配置模板,在之後建立新應用時將會預設使用當前配置。

  1. 在頁面底部單擊儲存當前應用設定為自訂配置模板

  2. 如果彈出當前設定未儲存對話方塊,請單擊確定儲存本應用配置後,再單擊儲存當前應用設定為自訂配置模板

  3. 在彈出的對話方塊中單擊確認