全部產品
Search
文件中心

AgentLoop:通過 AI Agent 接入 AgentLoop 應用監控

更新時間:Jul 25, 2026

接入 AgentLoop 應用監控通常需要逐步完成 Workspace 配置、APM 初始化、服務註冊和探針注入。alibabacloud-agentloop-management Skill 將這一流程封裝為 AI Agent 可執行檔結構化工作流程——將該 Skill 安裝到 QoderWork、Cursor 或 Claude Code 後,只需用一句自然語言描述接入需求,Agent 即可自動編排並執行全流程接入。接入完成後,可通過控制台查看以下監控資料:

  • 服務端應用:應用拓撲、介面調用、異常事務、慢事務等 APM 資料

  • AI 應用:LLM 調用耗時、Token 使用量、Agent 鏈路、工具調用(Tool Call)等 AI 可觀測指標

說明

AI Agent 接入是對傳統控制台接入流程的智能化封裝,底層使用 AgentLoop CLI 與標準探針方案(如 ack-onepilot、AliyunJavaAgent、aliyun-bootstrap、instgo、OpenTelemetry 等)。針對 AI Coding Agent 運行資料擷取的情境,可使用 LoongSuite Pilot 方式接入(AI 應用接入:AI Coding Agent),兩者是獨立的接入路徑。若應用部署於Container Service ACK 或 ACS,請確保叢集已通過 ack-onepilot 組件安裝探針並完成授權。

重要

AI Agent 由大語言模型驅動,可能存在命令參數錯誤、資源識別偏差等模型幻覺風險。儘管 Skill 內建了兩階段確認機制,仍需在批准執行前仔細核對 Agent 產生的命令與目標資源。接入操作可能涉及叢集組件變更、應用重啟等影響生產的變更,建議先在測試環境完成接入驗證與效果評估,確認探針對應用效能與穩定性的影響可接受後,再在生產環境使用。

適用情境

根據應用類型,Agent 會自動選擇對應的探針與接入路徑:

應用類型

典型技術棧

關注指標

典型部署環境

服務端應用

Java、Golang、Python、Node.js 等微服務

介面 QPS/RT、應用拓撲、慢事務

ACK/ACS、ECS

AI 應用

LangChain、DashScope、Dify、AgentScope 等

LLM 調用、Token 用量、Agent 鏈路

ACK/ACS、ECS

AI Agent 接入說明

alibabacloud-agentloop-management Skill 將 AgentLoop CLI 的接入流程封裝為 AI Agent 可執行檔結構化工作流程,核心能力包括:

  • 自然語言驅動:用一句話描述接入需求,無需記憶 CLI 命令與參數。

  • 情境感知:根據應用類型、語言、部署環境(ECS、ACK/ACS)自動選擇探針方案。

  • 自動編排:完成 Workspace 確認、APM 初始化、憑證擷取、服務註冊與探針配置。

  • 安全可控:對 Patch Deployment、修改啟動參數等變更操作執行兩階段確認,使用者審核後再執行。

典型工作流程:

  1. 使用者描述接入需求(Workspace、應用類型、語言/架構、應用程式名稱、部署環境)。若未提供符合 agentloop-{32位編碼} 格式的 Workspace,Agent 會主動詢問。

  2. Agent 檢查 CLI 環境與憑證,初始化 APM 基礎設施。

  3. Agent 產生執行計畫,展示命令、影響範圍與復原方式。

  4. 使用者確認後,Agent 執行探針注入或啟動參數變更。

  5. Agent 驗證接入結果,引導使用者通過控制台查看監控資料。

支援的探針方案

服務端應用

AI Agent 會根據應用語言與部署環境,自動選擇以下接入方式之一:

語言

ack-onepilot(K8s)

自研探針

OpenTelemetry

Java

支援

AliyunJavaAgent

OTel Java Agent

Golang

支援

instgo

OTel Go SDK

Python

支援

aliyun-bootstrap

opentelemetry-instrument

Node.js

—

@loongsuite/cms_node_sdk

OTel Node SDK

PHP

—

—

OTel PHP extension

.NET

—

—

OTel .NET Auto-Instrument

K8s 情境下優先使用 ack-onepilot 無侵入注入,無需修改應用代碼或 Dockerfile。ECS 情境下通常通過修改 JVM 啟動參數(Java)或安裝探針包(Golang/Python)完成接入。

AI 應用

AI 架構

底層探針

典型部署環境

LangChain / LangGraph

Python aliyun-bootstrap

ACK/ACS、ECS

DashScope

Python aliyun-bootstrap

ACK/ACS、ECS

AgentScope

Python aliyun-bootstrap

ACK/ACS、ECS

OpenAI SDK

Python aliyun-bootstrap

ACK/ACS、ECS

Dify

Dify 內建 OTel

自建部署、K8s

Coze

Golang instgo

ACK/ACS、ECS

OpenClaw / CoPaw / Hermes

專用 installer 指令碼

視具體方案

Python 系 AI 架構在 K8s 情境下通常通過 ack-onepilot 自動注入 aliyun-bootstrap 探針。Dify 等已內建 OpenTelemetry 的應用,Agent 將引導配置 OTel Exporter 指向 AgentLoop Endpoint,無需通過 ack-onepilot 注入。

前提條件

條件

說明

阿里雲帳號

已開通 AgentLoop,並對目標 Workspace 具有系統管理權限

AgentLoop Workspace

必填,格式為 agentloop- 加 32 位編碼(例如 agentloop-2694ecf8****************1f84542d)

阿里雲 CLI

版本 ≥ 3.3.15,已安裝 cms2 外掛程式。安裝方式見下方步驟一

CLI 憑證

已通過 aliyun configure 配置 AccessKey。配置方式見下方步驟一

AI Agent

已安裝 QoderWork、Cursor、Claude Code 或其他支援 Agent Skill 的工具。Skill 安裝方式見下方步驟二

K8s 情境

ACK/ACS 叢集已安裝 ack-onepilot(版本 ≥ 5.1.0)並完成 ARMS 資源授權

ECS 情境

目標 ECS 執行個體可通過 Cloud Assistant 或 SSH 執行命令

重要

K8s 情境下 ack-onepilot 接入涉及叢集組件的安裝或配置變更,以及為目標應用添加 Label 後觸發的 Pod 滾動重啟,可能對運行中的業務或 AI 推理服務產生影響。

步驟一:安裝並配置 CLI 環境

若尚未安裝阿里雲 CLI,請先完成安裝。

# 確認 CLI 版本 >= 3.3.15
aliyun version

# 驗證 cms2 外掛程式可用
aliyun cms2 --help

若 cms2 命令不可用:

aliyun plugin update

配置訪問憑證:

aliyun configure
說明

建議使用 RAM 子帳號,並授予 AgentLoop(cms2 API)、ARMS、Container Service等必要許可權。K8s 情境下,託管叢集通常通過 ARMS Addon Token 免密授權;專有版叢集或 ACS 叢集可能需要通過 ack-onepilot 配置 AK/SK,詳情見通過 ack-onepilot 組件安裝 Java 探針的授權章節。

步驟二:安裝 alibabacloud-agentloop-management Skill

  1. 開啟 Skill 市場頁面:alibabacloud-agentloop-management。

  2. 根據頁面指引,將 Skill 安裝到 Cursor、Claude Code 或 QoderWork。

  3. 安裝完成後,重啟 AI 助手或通過對話確認 Skill 已載入。

自然語言觸發樣本:

觸發關鍵詞樣本

對應能力

"接入 Java 應用"、"Spring Boot 監控"

Java 服務端應用 K8s/ECS 接入

"Golang 探針接入"、"instgo"

Golang 應用接入

"LangChain 接入"、"LangGraph 監控"

Python AI 應用 K8s/ECS 接入

"DashScope 應用接入 AgentLoop"

通義千問 SDK 應用接入

"AI Agent 監控"、"LLM 調用監控"

AI 可觀測指標採集

"Dify 接入 OpenTelemetry"

Dify OTel 配置引導

"ack-onepilot 接入 APM"

K8s 容器無侵入探針注入

"ECS 上安裝 Java 探針"

ECS 裸機 AliyunJavaAgent 接入

步驟三:使用自然語言發起接入

描述接入需求時,建議包含以下資訊(缺失時 Agent 會自動探測或詢問):

資訊

是否必填

樣本

AgentLoop Workspace

是

agentloop-2694ecf8****************1f84542d

應用類型 / 語言 / 架構

是

Java、LangChain、DashScope、Dify

應用程式名稱

是

order-service、customer-support-agent

部署環境

是

ACK 叢集、ECS

叢集/執行個體資訊

視情境

命名空間/Deployment 名稱、ECS 執行個體 ID

地區

可選

需單獨提供,或從叢集資訊自動推導

服務端應用樣本

K8s 中 Java 應用:

將 ACK 叢集 default 命名空間下的 order-service 部署接入 AgentLoop APM,語言是 Java,Workspace 是 agentloop-2694ecf8****************1f84542d

ECS 上 Java 應用:

幫我在 ECS 執行個體 i-bp1xxxxxxxxxx 上為 Spring Boot 應用 order-api 接入 APM 監控,Workspace 是 agentloop-2694ecf8****************1f84542d

K8s 中 Golang 應用:

幫我把 ACK 叢集裡的 Golang 微服務 payment-service 接入 AgentLoop 應用監控,Workspace 是 agentloop-2694ecf8****************1f84542d

AI 應用樣本

K8s 中 LangChain 應用:

幫我把 ACK 叢集裡的 LangChain 應用 customer-support-agent 接入 AgentLoop 監控,Workspace 是 agentloop-2694ecf8****************1f84542d

DashScope 應用 ECS 接入:

幫我在 ECS 上為 DashScope 對話應用 qa-bot 接入 AgentLoop AI 可觀測監控,Workspace 是 agentloop-2694ecf8****************1f84542d

Dify 自建部署:

我的 Dify 部署在 K8s 上,幫我配置 OpenTelemetry 上報到 AgentLoop,Workspace 是 agentloop-2694ecf8****************1f84542d

步驟四:確認執行計畫並完成接入

Agent 產生執行計畫後,會展示目標資源、具體命令、影響範圍與復原方式,等待確認後才執行變更操作。

兩階段確認協議

階段

行為

Phase A(計劃)

展示目標資源、具體命令、影響範圍與復原方式,結束當前輪次等待確認

Phase B(執行)

僅在使用者明確批准(如回複"yes"或"確認")後執行

唯讀命令(get、list)與等冪初始化(apm configuration create)無需確認,Agent 可直接執行。

K8s 情境下,Agent 完成 APM 初始化和服務註冊後,將通過 Patch Deployment 為 Pod Template 添加 Label 觸發 ack-onepilot 自動注入探針。詳細執行流程參見 Agent 執行流程參考,Label 配置說明參見 K8s 接入 Label 配置參考。

ECS 情境接入說明

ECS 情境下,Agent 將通過 Cloud Assistant 或 SSH 在目標執行個體上執行以下操作:

  1. 下載並解壓對應語言探針(如 AliyunJavaAgent、aliyun-bootstrap)。

  2. 配置探針屬性(LicenseKey、AppName、Workspace)。

  3. 修改應用啟動參數或環境變數。

  4. 重啟應用並驗證探針載入。

Java 應用 JVM 啟動參數樣本:

java -javaagent:/opt/arms/AliyunJavaAgent/aliyun-java-agent.jar \
  -Darms.licenseKey=<LicenseKey> \
  -Darms.appName=order-api \
  -Darms.workspace=agentloop-2694ecf8****************1f84542d \
  -jar app.jar
重要

ECS 接入涉及修改應用啟動指令碼並重啟進程,Agent 會通過執行計畫明確列出變更內容與復原步驟。

Dify 等非 ack-onepilot 情境

Dify 內建 OpenTelemetry 支援,Agent 將引導配置 OTel Exporter,將 Trace 資料上報至 AgentLoop APM Endpoint(LicenseKey + Endpoint 由 apm configuration get 擷取),無需通過 ack-onepilot 注入。

接入完成後,Agent 會提示等待 2~3 分鐘,然後通過控制台查看監控資料。

步驟五:驗證接入結果

通過 CLI 驗證

aliyun cms2 apm service list \
    --workspace agentloop-2694ecf8****************1f84542d \
    --service-name <應用程式名稱> \
    --region cn-hangzhou

成功標準:應用出現於服務列表,狀態為 Running。

通過 K8s 驗證(容器情境)

kubectl rollout status deployment/<deployment-name> -n <namespace>

kubectl get pods -n <namespace> -l app=<app-label> \
  -o jsonpath='{range .items[*]}{.metadata.name}: initContainers={.spec.initContainers[*].name}{"\n"}{end}'

kubectl logs -n <namespace> -l app=<app-label> --tail=30 | grep -i "arms\|OneAgent\|bootstrap\|agent"

通過 ECS 驗證

# Java 應用:確認進程中已載入 ARMS Agent
ps aux | grep "aliyun-java-agent" | grep -v grep

查看控制台監控資料

  1. 登入 AgentLoop 控制台。

  2. 選擇目標 Workspace。

  3. 在左側導覽列選擇所有功能 > 應用可觀測 > 應用監控。

  4. 單擊目標應用程式名稱,查看監控資料:

    • 服務端應用:應用拓撲、介面調用(QPS/RT/錯誤率)、異常事務、慢事務

    • AI 應用:LLM 調用(模型名稱、耗時、成功率)、Token 統計、Agent 鏈路、Tool Call 拓撲、異常追蹤

Agent 執行流程參考

以下以 K8s 情境為例,展示 Agent 接到確認指令後的典型執行流程,僅供瞭解 Agent 的內部行為,無需手動執行這些命令。Java 服務端與 Python AI 應用步驟相同,僅 Label 的語言標識不同。

(1)擷取帳號與叢集資訊

aliyun sts get-caller-identity --force -o json
aliyun cs describe-clusters

(2)初始化 APM 基礎設施並擷取憑證

aliyun cms2 apm configuration create \
    --workspace agentloop-2694ecf8****************1f84542d \
    --region cn-hangzhou

aliyun cms2 apm configuration get \
    --workspace agentloop-2694ecf8****************1f84542d \
    --region cn-hangzhou -o json

返回的 authToken 即為 LicenseKey,publicDomain / privateDomain 為資料上報 Endpoint。

(3)註冊應用服務

# 服務端 Java 應用樣本
aliyun cms2 apm service create \
    --workspace agentloop-2694ecf8****************1f84542d \
    --region cn-hangzhou \
    --body '{"serviceName":"order-service","serviceType":"TRACE","attributes":"{\"language\":\"java\"}"}' \
    < /dev/null

# AI Python 應用樣本
aliyun cms2 apm service create \
    --workspace agentloop-2694ecf8****************1f84542d \
    --region cn-hangzhou \
    --body '{"serviceName":"customer-support-agent","serviceType":"TRACE","attributes":"{\"language\":\"python\"}"}' \
    < /dev/null

(4)檢查 ack-onepilot 組件狀態

kubectl get pods -n ack-onepilot

(5)Patch Deployment 注入探針

Java 服務端應用:

kubectl patch deployment order-service -n default \
    --type=strategic -p '{
      "spec":{"template":{"metadata":{"labels":{
        "aliyun.com/app-language":"java",
        "armsPilotAutoEnable":"on",
        "armsPilotCreateAppName":"order-service",
        "armsPilotAppWorkspace":"agentloop-2694ecf8****************1f84542d"
      }}}}}
    }'

Python AI 應用(LangChain / DashScope 等):

kubectl patch deployment customer-support-agent -n default \
    --type=strategic -p '{
      "spec":{"template":{"metadata":{"labels":{
        "aliyun.com/app-language":"python",
        "armsPilotAutoEnable":"on",
        "armsPilotCreateAppName":"customer-support-agent",
        "armsPilotAppWorkspace":"agentloop-2694ecf8****************1f84542d"
      }}}}}
    }'

(6)驗證變換

kubectl rollout status deployment/<deployment-name> -n <namespace> --timeout=120s

接入完成後,Agent 會提示等待 2~3 分鐘,然後通過控制台查看監控資料。

重要

Patch Deployment 添加 Label 後會觸發應用 Pod 滾動重啟。受 AI 模型幻覺影響,Agent 可能誤識別叢集、命名空間或 Deployment 名稱,或在 Label、Workspace 等參數上出現偏差,請在批准執行前逐項核對 Agent 產生的命令與目標資源。

K8s 接入 Label 配置參考

K8s 情境下,AI Agent 通過為 Pod Template 添加 Label 觸發 ack-onepilot 自動注入探針。Label 必須添加在 spec.template.metadata.labels 層級(Pod Template),而非 Deployment 的 metadata.labels。

labels:
  armsPilotAutoEnable: "on"
  armsPilotCreateAppName: "<應用程式名稱>"
  armsPilotAppWorkspace: "<Workspace 名稱>"
  aliyun.com/app-language: "<語言>"   # 如 java、golang、python

完整 YAML 樣本(Java 服務端應用):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: order-service
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: order-service
  template:
    metadata:
      labels:
        app: order-service
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "order-service"
        armsPilotAppWorkspace: "agentloop-2694ecf8****************1f84542d"
        aliyun.com/app-language: java
    spec:
      containers:
        - name: order-service
          image: registry.example.com/order-service:latest
          ports:
            - containerPort: 8080

完整 YAML 樣本(Python AI 應用):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: customer-support-agent
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: customer-support-agent
  template:
    metadata:
      labels:
        app: customer-support-agent
        armsPilotAutoEnable: "on"
        armsPilotCreateAppName: "customer-support-agent"
        armsPilotAppWorkspace: "agentloop-2694ecf8****************1f84542d"
        aliyun.com/app-language: python
    spec:
      containers:
        - name: customer-support-agent
          image: registry.example.com/customer-support-agent:latest
          ports:
            - containerPort: 8000
重要

使用 AI Agent 產生或執行 Label 配置時,請逐項核對應用程式名稱、Workspace 及語言參數是否與預期一致。

常見問題

Agent 提示 cms2 命令不可用

原因:CLI 版本過低或未安裝 cms2 外掛程式。

解決方案:

aliyun upgrade -y
aliyun plugin update
aliyun cms2 --help

K8s 情境下 Pod 未注入探針

原因:ack-onepilot 未安裝、版本過低,或 ARMS 授權未完成。

解決方案:

  1. 確認 ack-onepilot 版本 ≥ 5.1.0。

  2. 檢查 kubectl get pods -n ack-onepilot 輸出是否正常。

  3. 確認叢集 ARMS Addon Token 或 AK/SK 授權已配置。

  4. 確認 aliyun.com/app-language 與實際應用語言一致。

  5. 確認 Label 添加在 Pod Template 層級。

Pod CrashLoopBackOff

原因:探針注入失敗或探針與應用運行環境不相容。

解決方案:

  1. 查看 initContainer 日誌排查注入失敗原因。

  2. 確認 aliyun.com/app-language 與實際應用語言一致。

  3. 在測試環境驗證通過後,再重新執行接入。

探針已載入但控制台無資料

原因:LicenseKey、Workspace 或 Endpoint 配置錯誤,或網路不通。

解決方案:

  1. 重新執行 aliyun cms2 apm configuration get 核對憑證。

  2. 確認 armsPilotAppWorkspace Label 值與 Workspace 名稱一致。

  3. 檢查叢集/ECS 到 APM Endpoint 的網路連通性(VPC 內網建議使用 privateDomain)。

  4. 觸發一次業務請求或 LLM 調用後等待 2~3 分鐘再查看控制台。

AI 應用接入後看不到 LLM 調用資料

原因:探針未正確載入,或 AI 架構尚未被探針識別。

解決方案:

  1. 確認 Pod 中 ack-onepilot 已成功注入 initContainer。

  2. 確認應用使用的是 aliyun-bootstrap 支援的 Python AI 架構(LangChain、DashScope 等)。

  3. 觸發一次 LLM 調用後等待 2~3 分鐘再查看控制台。

  4. 查看應用日誌中是否有探針初始化成功的輸出。

如何復原接入

K8s 情境:移除 ARMS 相關 Label 後 Pod 會重新滾動,探針注入即被移除。

kubectl patch deployment <deployment-name> -n <namespace> \
    --type json \
    --patch '[
      {"op": "remove", "path": "/spec/template/metadata/labels/armsPilotAutoEnable"},
      {"op": "remove", "path": "/spec/template/metadata/labels/armsPilotCreateAppName"},
      {"op": "remove", "path": "/spec/template/metadata/labels/armsPilotAppWorkspace"}
    ]'

ECS 情境:移除啟動參數中的 -javaagent 及相關 -Darms.* 配置,重啟應用即可。