全部產品
Search
文件中心

Application Real-Time Monitoring Service:為什麼ACK叢集應用安裝探針後沒有監控資料?

更新時間:Aug 07, 2024

可能原因

  1. 應用監控被暫停。

  2. 應用所在pod的探針沒有被正確載入。

解決方案

步驟一:檢查應用監控是否被暫停

  1. 登入ARMS控制台,在左側導覽列選擇應用監控 > 應用列表

  2. 應用列表頁面頂部選擇目標地區,然後單擊目標應用程式名稱。

    如果未找到目標應用,請參考步驟二繼續排查。

  3. 新版控制台請在上方導覽列選擇應用配置 > 自訂配置,在探針開關設定地區確認是否暫停應用監控。

    • 如果暫停應用監控開關被開啟,請關閉開關,然後單擊儲存

    • 如果暫停應用監控開關保持關閉,請參考步驟二繼續排查。

  4. 舊版控制台請在左側導覽列中單擊應用設定,然後在右側頁面單擊自訂配置頁簽。在Agent開關配置地區確認Agent總開關是否開啟。

    • 如果Agent總開關未開啟,請開啟Agent總開關,然後單擊頁面底部的儲存

    • 如果Agent總開關已開啟,請參考步驟二繼續排查。

步驟二:檢查探針是否被正確載入

  1. 登入Container Service管理主控台,在叢集列表頁面,單擊目的地組群名稱進入叢集詳情頁。

  2. 在左側導覽列選擇工作負載 > 容器組

  3. 容器組頁面頂部選擇您的應用所在的命名空間,然後單擊目標應用右側單擊編輯

  4. 編輯YAML對話方塊中查看YAML檔案中是否存在initContainers。

    db_am_ack_apppod_yaml

    • 如果不存在,則說明未被注入one-pilot-initcontainer,執行步驟5

    • 如果存在,則說明已被注入one-pilot-initcontainer,執行步驟8

  5. 工作負載 > 容器組頁面頂部選擇命名空間ack-onepilot。查看Pod列表中是否存在名稱首碼為ack-onepilot的Pod。

  6. 工作負載下的無狀態有狀態頁面目標應用右側操作列中選擇更多 > 查看Yaml,在編輯YAML對話方塊查看YAML檔案中的spec.template.metadata層級下是否存在以下Labels註解。

    labels:
      armsPilotAutoEnable: "on"
      armsPilotCreateAppName: "<your-deployment-name>"    #請將<your-deployment-name>替換為您的應用程式名稱。
      armsSecAutoEnable: "on"    #如果需要接入應用安全,則需要配置此參數。
    • 如果存在,則執行步驟7

    • 如果不存在,則在編輯YAML對話方塊中的spec.template.metadata層級下添加以上Labels註解,然後單擊更新

  7. 工作負載 > 容器組頁面目標應用右側單擊日誌,查看ack-onepilot的Pod日誌是否報STS錯誤,即提示"Message":"STS錯誤"

  8. 工作負載 > 容器組頁面目標應用右側單擊編輯,在編輯YAML對話方塊中查看YAML檔案中是否存在以下javaagent參數。

    -javaagent:/home/admin/.opt/ArmsAgent/aliyun-java-agent.jar
    說明

    如果您使用的探針版本在2.7.3.5以下,請將本文中的aliyun-java-agent.jar替換為arms-bootstrap-1.7.0-SNAPSHOT.jar。建議您儘快將探針升級至最新版本。

    • 如果存在,則單擊容器組頁面右側的終端進入命令列頁面,執行以下命令查看是否存在以.log為尾碼的記錄檔,然後提交工單

      cd /home/admin/.opt/ArmsAgent/logs
    • 如果不存在,請提交工單

相關文檔

Java應用監控網路設定