全部產品
Search
文件中心

Application Real-Time Monitoring Service:修改 Java 探針設定檔及預設上報地區

更新時間:Mar 12, 2025

您可以通過指定靜態設定檔的方式來控制 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探針