全部產品
Search
文件中心

Application Real-Time Monitoring Service:如何自訂Java探針掛載路徑

更新時間:Dec 30, 2025

背景

在標準部署情境中,ack-onepilot 組件會通過注入 JAVA_TOOL_OPTIONS 環境變數指定 Java 探針(Agent)的掛載路徑。但在某些情境下,使用者可能需要自訂探針掛載路徑以滿足特定需求:

  • 統一組態管理

    需通過 Kubernetes ConfigMap 集中管理探針路徑,實現多環境配置一致性。

  • 持久化儲存需求

    企業安全規範或營運要求將探針檔案儲存體在自訂持久化卷(PVC)中。

版本依賴

自訂Java探針掛載路徑對 ack-onepilot 與 Java 探針版本要求如下:

解決方案

重要

ack-onepilot組件由 MSE 和 ARMS 共用,因此自訂 Java 探針掛載路徑對於 MSE 服務治理應用同樣生效。

  1. 為需要自訂掛載Java探針的Kubernetes工作負載(如Kubernetes Deployment)添加disableJavaToolOptionsInjection註解。

    添加該註解後ack-onepilot組件將不會通過JAVA_TOOL_OPTIONS環境變數自動指定Java探針的掛載路徑及其他JVM參數。

    1. 執行以下命令查看目標無狀態(Deployment)應用的YAML檔案。

      kubectl get deployment YOUR_DEPLOYMENT_NAME -o yaml
      說明

      若您不清楚{deployment名稱},請先執行以下命令查看所有無狀態(Deployment)應用,在執行結果中找到目標無狀態(Deployment)應用,再查看目標無狀態(Deployment)應用的YAML檔案。

      kubectl get deployments --all-namespaces
    2. 啟動編輯目標無狀態(Deployment)應用的YAML檔案。

      kubectl edit deployment YOUR_DEPLOYMENT_NAME -o yaml
    3. 在YAML檔案中的spec.template.metadata層級下添加以下內容。

      labels:
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "YOUR_DEPLOYMENT_NAME" # 請將YOUR_DEPLOYMENT_NAME替換為您的應用程式名稱。
        disableJavaToolOptionsInjection: "true"            # 如需自訂Java探針掛載路徑,請將此開關設為true。
  2. 在您的應用啟動指令碼或Java啟動命令中自行添加ARMS Java探針的掛載路徑。

    其中,/home/admin/.opt/AliyunJavaAgent/aliyun-java-agent.jar為探針預設掛載路徑,請將該路徑替換為需要自訂掛載的路徑。

    java -javaagent:/home/admin/.opt/AliyunJavaAgent/aliyun-java-agent.jar ... ... -jar xxx.jar

    其餘的重要訊息,如上報Region、上報License Key等資訊將由ack-onepilot通過環境變數的方式注入。