作者:铖朴、珂帆
背景
随着云原生架构的普及和 AI 应用的快速增长,企业需要管理的应用类型日益丰富------从传统 Java 微服务到 AI Agent,从 Golang 后端到各类 AI 网关组件。与此同时,可观测平台的接入配置涉及一系列参数和步骤,对运维效率提出了更高要求。
阿里云云监控 CMS(CloudMonitor Service)2.0 作为阿里云统一的可观测管理平台,整合了应用监控(APM)、前端监控(RUM)、Prometheus 服务、告警管理等核心能力。为了让用户在终端环境下也能高效完成可观测接入,CMS 团队推出了 aliyun cms2 CLI 工具 。更进一步,通过将 CLI 能力封装为 alibabacloud-cms-manage Skill,我们实现了基于 AI Agent 的智能化可观测接入------用户只需用自然语言描述需求,AI Agent 即可自动编排 CLI 命令完成全流程。
本文将介绍 CMS CLI 的应用接入能力,并重点演示如何通过 AI Agent Skill 实现 K8s 场景下的自动化接入。

图 1:CMS CLI + AI Agent Skill
CMS CLI 概览
aliyun cms2 是阿里云 CLI ** **1 的子命令插件,覆盖 CMS 2.0 各模块的命令行操作:

使用前需确保环境就绪:
shell
# 确认 CLI 已安装且版本 >= 3.3.15
$ aliyun version
3.3.20
# 验证 cms2 插件可用
$ aliyun cms2 --help
# 配置凭证(如尚未配置)
$ aliyun configure
应用接入能力
APM 与 AI 可观测
CMS CLI 的 APM 模块支持多种语言的应用接入,同时提供 ack-onepilot(K8s 容器)、手动自研探针和原生 OpenTelemetry 三种接入方式:

在 AI 可观测方面,CMS 2.0 为主流 AI 框架提供了开箱即用的接入体验:

CLI 接入流程
无论接入应用的语言和接入方式,CLI 接入均遵循以下 6 步:

图 2:CLI 6 步接入流程图
以下是各步骤的核心命令:
sql
# Step 1: 获取账号 ID
$ aliyun sts get-caller-identity --force -o json
# → AccountId: 1108xxxxxxxxxxxx
# Step 2: 初始化 APM 基础设施(幂等)
$ aliyun cms2 apm configuration create \
--workspace default-cms-1108xxxxxxxxxxxx-cn-hangzhou \
--region cn-hangzhou
# Step 3: 获取接入凭证(LicenseKey、Endpoint 等)
$ aliyun cms2 apm configuration get \
--workspace default-cms-1108xxxxxxxxxxxx-cn-hangzhou \
--region cn-hangzhou -o json
返回示例:
json
{
"success": true,
"data": {
"entryPointInfo": {
"authToken": "a]***@***************4b70",
"privateDomain": "proj-xtrace-***-cn-hangzhou.cn-hangzhou-intranet.log.aliyuncs.com",
"project": "proj-xtrace-***-cn-hangzhou",
"publicDomain": "proj-xtrace-***-cn-hangzhou.cn-hangzhou.log.aliyuncs.com"
},
"status": "Running",
"workspace": "default-cms-1108xxxxxxxxxxxx-cn-hangzhou"
}
}
swift
# Step 4: 注册应用服务
$ aliyun cms2 apm service create \
--workspace default-cms-1108xxxxxxxxxxxx-cn-hangzhou \
--region cn-hangzhou \
--body '{"serviceName":"my-app","serviceType":"TRACE","attributes":"{\"language\":\"java\"}"}' \
< /dev/null
# → serviceId: a]***@*********************7f1
# Step 5: 获取接入配置模板(以 Java OTel 为例)
$ aliyun cms2 integration addon get --addon-name apm-java-batch --env-type Client -o json
# Step 6: 验证接入
$ aliyun cms2 apm service list \
--workspace default-cms-1108xxxxxxxxxxxx-cn-hangzhou \
--service-name my-app --region cn-hangzhou
上述流程虽然清晰,但 6 步操作、多个参数传递,对非高频使用 CLI 的运维人员来说仍有一定门槛。接下来介绍如何通过 AI Agent Skill 将这一过程简化为一句自然语言。

图 3:基于 Skill 一句话轻松搞定接入
通过 AI Agent Skill 实现智能化接入
alibabacloud-cms-manage Skill
CMS 团队将完整的 CLI 操作知识封装为开箱即用的 Skill ------ alibabacloud-cms-manage ** **2 ,其核心思路是将 CLI 操作流程转化为 AI Agent 可执行的结构化工作流。用户无需记忆命令和参数,只需用自然语言描述需求即可完成接入。
Skill 覆盖以下模块:

Skill 安装与使用详见:skills.aliyun.com/skills/alib...
工作机制
当用户在 Claude Code 中描述需求时,AI Agent 按以下流程工作:

图 4:Skill 智能接入工作流程图
安全机制:两阶段确认协议
对于可能影响用户集群的操作(如安装组件、Patch Deployment),Skill 严格执行两阶段确认:

只读命令(get、list)和 CMS 后端资源创建(apm configuration create)无需确认,Agent 可直接执行。

图 5:两阶段确认协议
使用效果演示:K8s 容器自动接入
以下是通过 Skill 完成 ACK 集群中 LangChain 应用自动接入 的完整交互过程。ack-onepilot 通过 DaemonSet 在集群节点运行 Agent Pod,当 Deployment 标注指定 Label 后自动注入探针,无需修改应用代码或 Dockerfile。
用户:
帮我把 ACK 集群里的 LangChain 应用 customer-support-agent 接入 CMS 监控
AI Agent:
检测到容器接入场景,正在获取集群信息...
php
$ aliyun sts get-caller-identity --force -o json
# → AccountId: 1108xxxxxxxxxxxx
$ aliyun cs describe-clusters
# → clusterId: c8d3f***********, region_id: cn-hangzhou
正在初始化 APM 基础设施并获取凭证...
swift
$ aliyun cms2 apm configuration create \
--workspace default-cms-1108xxxxxxxxxxxx-cn-hangzhou --region cn-hangzhou
# → 成功
$ aliyun cms2 apm configuration get \
--workspace default-cms-1108xxxxxxxxxxxx-cn-hangzhou --region cn-hangzhou -o json
# → LicenseKey: a]***@***************4b70
$ aliyun cms2 apm service create \
--workspace default-cms-1108xxxxxxxxxxxx-cn-hangzhou --region cn-hangzhou \
--body '{"serviceName":"customer-support-agent","serviceType":"TRACE","attributes":"{\"language\":\"python\"}"}' \
< /dev/null
# → serviceId: a]***@*********************7f1
正在检查 ack-onepilot 组件状态...
csharp
$ kubectl get pods -n ack-onepilot
# NAME READY STATUS RESTARTS AGE
# ack-onepilot-7d8f9 1/1 Running 0 5d
ack-onepilot 已安装且正常运行。正在查找目标 Deployment...
sql
$ kubectl get deployment --all-namespaces | grep customer-support
# default customer-support-agent 3/3 3 3 12d
找到目标 Deployment default/customer-support-agent(3 副本)。执行计划 --- Patch K8s Deployment请确认执行(yes / no)。
用户:
yes
AI Agent:
正在执行 Patch...
vbnet
$ 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":"default-cms-1108xxxxxxxxxxxx-cn-hangzhou"
}}}}}'
# deployment.apps/customer-support-agent patched
正在验证滚动更新...
shell
$ kubectl rollout status deployment/customer-support-agent -n default --timeout=120s
# deployment "customer-support-agent" successfully rolled out
接入完成!应用已通过 ack-onepilot 自动注入 Python 探针,2-3 分钟后即可在 CMS 控制台 ** **3 看到 LLM 调用耗时、Token 使用量、Agent 链路等监控数据。
整个过程中,用户只提供了一句自然语言描述。AI Agent 自动完成了:账号获取、集群信息派生(无需手动提供 regionId)、基础设施初始化、凭证获取、服务注册、组件状态检查、Deployment 查找,并通过两阶段确认让用户审核 Patch 内容后再执行。对比手动操作需要执行的 8+ 条命令,Skill 将接入体验从"记命令、查参数、拼 JSON"简化为一句话。

图 6:K8s ack-onepilot 自动接入
如果您对 CMS CLI 或 AI Agent 驱动的可观测接入感兴趣,欢迎访问以下资源:
1 阿里云 CLI
2 alibabacloud-cms-manage
skills.aliyun.com/skills/alib...
3 CMS 控制台
4 APM 应用监控文档
help.aliyun.com/zh/cms/clou...
5 阿里云 CLI 安装指南