本文由簡體中文內容自動轉碼而成。阿里雲不保證此自動轉碼的準確性、完整性及時效性。本文内容請以簡體中文版本為準。

修改 Java 探針設定檔及預設上報地區

更新時間:2025-03-11 19:18

您可以通過指定靜態設定檔的方式來控制 Java 探針的預設配置項。

靜態設定檔僅可用於修改部分靜態配置及預設配置,配置優先順序低於動態配置、Java System Properties 及環境變數。動態配置請參見Java應用自訂配置

4.x 及以上版本的 Java 探針

對於 4.x 及以上版本的 Java 探針,所有的設定檔均內建在了 jar 包中,您可以建立外置的設定檔用於寫入一些外部參數。外置設定檔的配置項生效優先順序高於 jar 包內建的設定檔,但低於動態配置、Java System Properties 及環境變數。

修改探針設定檔

  1. 建立副檔名為 .properties 的探針設定檔(建議在探針目錄下建立),如 my-app.properties。

  2. 按需寫入以下配置項,預設值均為空白。

    配置項

    含義

    配置項

    含義

    arms.licenseKey

    探針接入資訊,接入需要使用的 LicenseKey。您可以在ARMS控制台接入中心Java 應用監控處擷取。也可以通過OpenAPI DescribeTraceLicenseKey擷取。

    arms.appName

    探針接入資訊,應用程式名稱。

    profiler.tags.env

    監控執行個體的標籤資訊,應用環境標籤。更多資訊,請參見添加並使用標籤

    profiler.tags.version

    監控執行個體的標籤資訊,應用版本標籤。更多資訊,請參見添加並使用標籤

    profiler.tags.customtags

    監控執行個體的標籤資訊,應用其他自訂執行個體標籤。更多資訊,請參見添加並使用標籤

  3. 在探針啟動時,在啟動命令中添加 -Dotel.javaagent.configuration-file=/path/to/my-app.properties,或者添加OTEL_JAVAAGENT_CONFIGURATION_FILE=/path/to/my-app.properties環境變數。

    說明
    • 請將/path/to/my-app.properties值替換為設定檔的絕對路徑。

    • 啟動命令和環境變數同時配置時,啟動命令優先生效。

  4. 您可以將修改完的設定檔應用於其他任意一個 4.x 版本探針的接入過程。

修改探針上報地區

如果您的應用是通過 ACK 接入,探針預設的上報地區為 ACK 叢集所在地區;如果您的應用為手動接入,探針預設的上報地區為您下載探針時對應 OSS 所在的地區

如果您需要修改探針的上報地區,可以採用以下方法:

方法一

ACK 環境下的應用推薦參考ACK叢集如何跨地區上報資料?文檔操作。

方法二

通過在啟動命令中添加 -Daliyun.javaagent.profileId=cn-hangzhou,或者添加 ALIYUN_JAVAAGENT_PROFILEID=cn-hangzhou 環境變數。

說明
  • 請將cn-hangzhou值替換為任意一個 ARMS 支援的上報地區。

  • 啟動命令和環境變數同時配置時,啟動命令優先生效。

3.x 版本的 Java 探針

修改探針設定檔

  1. 進入解壓後的探針目錄,找到 arms-agent.config 檔案。

    image

  2. 修改 arms-agent.config 檔案中的配置項並儲存,或者替換為您準備好的 arms-agent.config 檔案。

    展開查看arms-agent.config 檔案(樣本)

    ########################################################################
    #  您需要手工替換 arms.licenseKey(從介面擷取) 及 arms.appName(接入應用程式名稱)
    #
    #  範例:
    #  arms.licenseKey=XXXXXXXXXXXXXXX
    #  arms.appName=Demo-Service
    #
    ########################################################################
    
    arms.licenseKey=
    
    arms.appName=
    
    ########################################################################
    #  以下為 ARMS Agent 的系統預設配置,請勿修改
    ########################################################################
    
    profiler.collector.trace.endpoint=arms-dc-hz.aliyuncs.com
    profiler.collector.metric.endpoint=cn-hangzhou.arms.aliyuncs.com
    profiler.collector.meta.endpoint=arms-dc-hz.aliyuncs.com
    profiler.collector.endpoint=arms-dc-hz.aliyuncs.com
    
    
    profiler.log.report.support=true
    
    profiler.acm.endpoint=addr-hz-internal.edas.aliyun.com
    profiler.acm.tenant=c845a7b4-23a1-4f28-a380-5ab30d8a280f
    profiler.acm.region.id=cn-hangzhou
    
    # MSE上報的Reigon
    profiler.mse.region=cn-hangzhou
    
    
    # Agent自身排查日誌等級 ERROR < WARN <  INFO <  DEBUG < TRACE
    # 優先順序高的設定將輸出優先順序低等級的日誌
    profiler.agent.logger.level=WARN
    
    # 全域配置:控制Agent是否工作(false為關閉埋點,修改謹慎)
    profiler.enable=true
    
    # 全域配置:採樣功能是否開啟 (false為關閉採集, 修改謹慎)
    profiler.sampling.enable=true
    
    # 全域配置:採樣率設定規則百分比(100:100%, 50:50%, 20:20%, 10:10%, 5:5%)
    profiler.sampling.rate=10
    
    ###########################################################
    # dubbo                                                   #
    ###########################################################
    profiler.dubbo.enable=true
    
    ###########################################################
    # google-httpclient                                       #
    ###########################################################
    profiler.googlehttpclient.enable=true
    
    ###########################################################
    # ali-hsf                                                 #
    ###########################################################
    profiler.hsf.enable=true
    
    ###########################################################
    # httclient3                                              #
    ###########################################################
    profiler.httpclient3.enable=true
    
    ###########################################################
    # httclient4                                              #
    ###########################################################
    profiler.httpclient4.enable=true
    
    ###########################################################
    # jdk-http                                                #
    ###########################################################
    profiler.jdkhttp.enable=true
    
    ###########################################################
    # jetty                                                   #
    ###########################################################
    profiler.jetty.enable=true
    
    ###########################################################
    # mybatis                                                 #
    ###########################################################
    profiler.mybatis.enable=true
    
    ###########################################################
    # mysql-jdbc                                              #
    ###########################################################
    profiler.mysql.enable=true
    
    ###########################################################
    # okhttp                                                  #
    ###########################################################
    profiler.okhttp.enable=true
    
    ###########################################################
    # oracle-jdbc                                             #
    ###########################################################
    profiler.oracle.enable=true
    
    ###########################################################
    # postgresql-jdbc                                         #
    ###########################################################
    profiler.postgresql.enable=true
    
    ###########################################################
    # redis                                                   #
    ###########################################################
    profiler.redis.enable=true
    
    ###########################################################
    # spring                                                  #
    ###########################################################
    profiler.spring.enable=true
    
    ###########################################################
    # spring-boot                                             #
    ###########################################################
    profiler.springboot.enable=true
    
    ###########################################################
    # tomcat                                                  #
    ###########################################################
    profiler.tomcat.enable=true
    
    ###########################################################
    # mongodb                                                 #
    ###########################################################
    profiler.mongodb.enable=true
    
    ###########################################################
    # lettuce                                                 #
    ###########################################################
    profiler.lettuce.enable=true
    
    ###########################################################
    # GRPC                                                    #
    ###########################################################
    profiler.grpc.enable=true
    
    ###########################################################
    # Thrift                                                  #
    ###########################################################
    profiler.thrift.enable=true
    
    ###########################################################
    # Memcached                                               #
    ###########################################################
    profiler.memcached.enable=true
    
    # 配置無效URL
    
    
    profiler.thresholds.limit=100
    
    profiler.defined.method=
    
    profiler.callstack.maxLength=128
    
    profiler.callsql.maxLength=1024
    
    profiler.tprof.enableThreadProfiler=true
    
    profiler.alibabacloud.metaserver.address=100.100.100.200
    ###########################################################
    # sofarpc                                                 #
    ###########################################################
    profiler.sofa.rpc.enable=true
    
    profiler.exception.stacktrace=2
    
    ###########################################################
    # Tags                                                    #
    ###########################################################
    #profiler.tags.env=prod
    profiler.tags.env=
    
    #profler.tags.version=v1.0
    profiler.tags.version=
    
    #profiler.tags.customtags=key1:value1&key2:value2
    profiler.tags.customtags=
    重要

    設定檔中的其他配置項不建議修改,否則有可能導致採集行為不符合預期。如需修改探針配置,請參考Java應用自訂配置

    配置項

    含義

    預設值

    配置項

    含義

    預設值

    arms.licenseKey

    探針接入資訊,接入需要使用的 LicenseKey。您可以在ARMS控制台接入中心Java 應用監控處擷取。也可以通過OpenAPI DescribeTraceLicenseKey擷取。

    arms.appName

    探針接入資訊,應用程式名稱。

    profiler.tags.env

    監控執行個體的標籤資訊,應用環境標籤。更多資訊,請參見添加並使用標籤

    profiler.tags.version

    監控執行個體的標籤資訊,應用版本標籤。更多資訊,請參見添加並使用標籤

    profiler.tags.customtags

    監控執行個體的標籤資訊,應用其他自訂執行個體標籤。更多資訊,請參見添加並使用標籤

    profiler.collector.trace.endpoint

    鏈路資料上報地址。

    arms-dc-hz.aliyuncs.com

    (以杭州地區為例)

    profiler.collector.metric.endpoint

    指標資料上報地址。

    cn-hangzhou.arms.aliyuncs.com

    (以杭州地區為例)

    profiler.collector.meta.endpoint

    中繼資料資訊上報地址。

    arms-dc-hz.aliyuncs.com

    (以杭州地區為例)

    profiler.collector.endpoint

    其他資訊上報地址。

    arms-dc-hz.aliyuncs.com

    (以杭州地區為例)

    profiler.acm.endpoint

    ACM 動態配置監聽地址。

    addr-hz-internal.edas.aliyun.com

    (以杭州地區為例)

    profiler.acm.region.id

    ACM 動態配置所在 Region。

    cn-hangzhou

    (以杭州地區為例)

  3. 您可以將修改完的設定檔應用於其他任意一個 3.x 版本探針的接入過程。

修改探針上報地區

如果您的應用是通過 ACK 接入,探針預設的上報地區為 ACK 叢集所在地區;如果您的應用為手動接入,探針預設的上報地區為您下載探針時對應 OSS 所在的地區

如果您需要修改探針的上報地區,可以採用以下方法:

方法一(推薦)

ACK 環境下的應用推薦參考ACK叢集如何跨地區上報資料?文檔操作。

方法二(推薦)

手動安裝的探針,請重新擷取對應地區的探針安裝包,然後重新安裝探針。

方法三(不推薦

修改設定檔中的 profiler.collector.trace.endpoint、profiler.collector.metric.endpoint、profiler.collector.meta.endpoint、profiler.collector.endpoint、profiler.acm.endpoint和profiler.acm.region.id 配置項。各地區對應的存取點資訊請參見需要開放的網域名稱

重要

由於探針自身包含內網探活邏輯,內網不通會自動切換為公網模式,存取點建議統一按照內網格式填寫。

2.x 版本的 Java 探針

ARMS應用監控已不再支援 2.x 版本Java探針,請儘快將探針升級到 2.x 以上版本,升級探針的操作請參見升級ARMS探針

  • 本頁導讀 (1, M)
  • 4.x 及以上版本的 Java 探針
  • 修改探針設定檔
  • 修改探針上報地區
  • 3.x 版本的 Java 探針
  • 修改探針設定檔
  • 修改探針上報地區
  • 2.x 版本的 Java 探針
文檔反饋