技能市场

千问AI-上云应用观测

@qianwen-ai/qianwenai-observe

一句「这个应用运行得怎么样」,即可查看应用可用性、ECS 性能、可选 RDS MySQL 状态及实际账单,获得带指标依据的健康评分、风险提示,并可导出报告。**使用前须已通过 qianwenai-deploy 完成部署,并在保留 .qianwenai-deploy 状态文件的项目目录中操作。**当前不支持直接接入其他方式部署的应用或任意存量云资源。

来源:千问AI平台需要配置 API Key开发运维Apache-2.0

千问 AI 可观测

对由 qianwenai-deploy 部署的应用做只读可观测,回答「应用运行得怎么样、预计花多少钱」,无需进入
控制台。所有价格为人民币(¥)

快速路径

  1. 识别应用 — 读取项目目录下的 .qianwenai-deploy(见 references/workflow.md)。
  2. 选择时间范围 — 默认最近 1 小时;用户可选 15 分钟 / 1 小时 / 24 小时。
  3. 逐层检查 — 应用、ECS、(可选)RDS、成本。每项返回统一结果状态之一;单项失败不阻断其他层。
  4. 汇报 — 一句话结论,然后逐层摘要、风险项、数据时间、未知项。

范围

范围内 范围外
qianwenai-deploy 部署的应用(存在状态文件) .qianwenai-deploy 状态文件的应用
单 ECS,或 ECS + RDS MySQL 8.0 其他拓扑 / 自建服务器
只读的可用性、性能、成本概览 任何资源变更 → 用 qianwenai-operate
报告运行时状态(可用性、性能、成本) 源码审查、找 bug/漏洞、判断哪行代码写错、改代码
阿里云国内站,人民币 国际站 → 用 qwencloud-observe

代码问题不在能力范围内

本 skill 只做只读观测,报告运行时的可用性、性能和成本,不做源码审查、缺陷定位或代码修改。

涉及代码时,明确告知用户:改代码属于本 skill 能力之外,需由用户自行决定并执行,相应后果由用户
自行承担。

前置条件

Aliyun CLI:执行 aliyun version(需 3.x)。所有查询用驼峰原生形态直连 OpenAPI,
不依赖插件。凭证仅用 aliyun configure list 查看状态。
绝不读取、回显、打印或索要 AK/SK/Token。若无有效凭证配置集,停止并请用户在本会话之外配置凭证。
references/cli_installation_guide.md

状态与评分

每层返回一个状态——healthy(正常)· degraded(可用但有风险)· unavailable(不可用)·
unknown(无法判断)——并带上检查时间、目标资源、关键证据、数据来源。单项查询失败时继续检查其他层,
把失败项标记为 unknown——绝不静默省略、绝不编造数据。

每层还会打一个分,各层分数相加得到 0-100 的健康分并给出 A/B/C/D 分级
>=90 A · >=75 B · >=60 C · <60 D)。共评四个维度:

维度 权重(含 RDS) 权重(无 RDS) 信号
应用 35 45 可达性、/healthz、响应时间、错误率
ECS 30 45 CPU、内存、磁盘使用率、磁盘 IO、网络
RDS 25 连接数、慢 SQL、空间、行锁等待
可用性 10 10 ECS/RDS 运行状态、近期系统事件、EIP 状态与带宽、安全组暴露面

当应用没有 RDS 时,其权重重分配给应用和 ECS。成本从不计分——单独展示为实际账单加一段基于
利用率的优化说明。

备份 / 快照缺失和安全组收敛建议只作为风险与建议项呈现,不计入健康分;EIP 未绑定、带宽贴顶、
缺 80/443 入方向规则等影响可用性的信号计入可用性维度。

怎么检查

先识别应用,再逐层看。执行每步命令前先读对应指南。某一项失败不影响其他层——标记为 unknown
继续往下。

这些层的检查彼此独立且只读——识别应用后,把各层的只读 API 并行发起(后台 & + wait),
不要串行等待;同一台 ECS 上的云助手命令合并成一条脚本一次性取回,减少往返。

  1. 识别应用 — 读 .qianwenai-deploy,拿到地域和资源 ID。见
    workflow
  2. 应用能访问吗? — 探测公网地址和 /healthz,检查应用和 Nginx 服务及端口,汇总近期错误。见
    observe-application
  3. 服务器怎么样? — ECS 状态,以及时间范围内的 CPU、网络、磁盘、内存。见
    observe-ecs
  4. 数据库怎么样?(仅当应用含 RDS)— 状态、连接数、QPS/TPS、空间、行锁等待,以及脱敏慢 SQL。见
    observe-rds
  5. 公网与暴露面怎么样? — EIP 状态与带宽、安全组 80/443 放行与暴露风险。见
    observe-network
  6. 有没有维护和备份? — ECS 系统事件、系统盘快照、RDS 备份。见
    observe-resilience
  7. 花了多少钱? — 应用的实际费用,可选本月外推。见 observe-cost
  8. 评分并汇总 — 给每层打分,相加得到健康分与分级,再写一个自然语言结论。见
    workflow

默认看最近一小时;尊重用户明确指定的 15 分钟 / 1 小时 / 24 小时,并在汇报中注明所用范围。

怎么告诉用户

先给健康分与分级加一句话结论,再给应用、服务器、数据库(如有)、成本各一行短摘要,每行附背后的证据。
点出风险项,说明有哪些没能判断以及原因,并给出数据时间。项目目录存在 operate_audit.jsonl 时,
带上最近一次运维动作(时间、动作、结果),让本次评分对上最近的恢复。发现真实故障时,主动提议用
qianwenai-operate 进入故障诊断:用 AskUserQuestion 给出 立即诊断并修复 / 只看不动
选择前者即进入 qianwenai-operate。同时把已采集的证据写入项目目录的 observe_handoff.json
(故障层、关键指标、数据时间戳,不含任何密码/签名 URL),供 operate 作为诊断起点、免于重复只读检查。

健康分:87 / 100(B,良好)——应用正常,关注 RDS 连接趋势。

应用:访问正常,当前响应时间 186 ms,应用和 Nginx 服务正常。
ECS:运行正常,最近一小时 CPU 平均 31%,未发现持续高负载。
RDS:运行正常,活跃连接数从 12 上升到 38,建议关注连接池趋势。
成本:2026-08 账期实际费用 ¥88.30(ECS ¥52.10,RDS ¥36.20)。

数据截至:2026-08-03 16:20 UTC+8

给完摘要后,主动问一句是否需要导出报告文件,例如:「需要我导出一份 Markdown 或 HTML 报告吗?」
由用户决定,不强制。

交互形态

  • 只读信息(体检结论、状态、费用):纯文本,每条判断后附一行证据(指标、状态、时间戳)。
  • 改状态动作(进入 operate、导出报告等):用 AskUserQuestion,提问答清 做什么 · 影响 ·
    怎么验证,确认前不执行。
  • 主动纪律:健康时安静;仅在有风险或真实故障时主动开口,且一次只提一个后续动作(诊断 / 导出报告)
    让用户选。

渲染报告文件(可选)

当用户想要一份保存的 Markdown 或 HTML 报告时,把各层的状态、分数、关键指标和证据汇总成一个
JSON 对象,交给 scripts/render_report.py 渲染,不要手写最终排版。HTML 输出是多卡片报告
(含健康分与异常的总览、每层一张带指标表的卡片、成本卡、建议卡);Markdown 是其轻量等价物。

  1. 打印 schema 并填写:python3 scripts/render_report.py --schema。每层需要 state
    score/max_scoremetrics[]detailassessment.health_score 必须等于各层分数之和
    且与分级匹配;成本只承载实际账单金额。
  2. 渲染前先校验:python3 scripts/render_report.py --validate -i data.json。按提示修正问题
    (状态非法、unknown 缺 reason、分级与分数不符、成本里出现预估)。
  3. 按用户选择的格式渲染:
    python3 scripts/render_report.py -i data.json -f md -o report.md(或 -f html)。

交接给运维(可选)

发现真实故障且用户选择进入 qianwenai-operate 时,向项目目录写 observe_handoff.json,让 operate
以此为诊断起点、优先验证被点名的那一层:

{
  "from": "qianwenai-observe",
  "generated_at": "2026-08-03T16:20:00+08:00",
  "fault_layer": "rds",
  "symptoms": ["RDS 活跃连接从 12 升到 190,接近上限"],
  "metrics": {"rds_active_connections": 190, "app_http_code": 200}
}

fault_layerapp / nginx / ecs / rds / network / disk 之一。只写只读观测得到的
证据,绝不写入密码、连接串或签名 URL。文件仅作线索,operate 仍会独立复核后再提恢复动作。

安全

规则 说明
只读 云助手命令必须只读;绝不修改实例/应用状态。
不碰密码 绝不读取或输出 .qianwenai-deploy.local 中的密码。
脱敏 日志输出中的 AccessKey、Token、密码、连接串密码、Cookie 必须脱敏。
慢 SQL 只输出 SQL 模板/脱敏 SQL,限制长度;绝不展示字面参数值。
成本 只展示实际费用(¥)及账期;绝不展示预估。尚无账单时把成本标记为 unknown

所需权限

references/ram_policies.md。除惰性装 agent 的 cms:InstallMonitoringAgent 外均为只读:
ecs:DescribeInstancesecs:RunCommand +
ecs:DescribeInvocations(只读命令)、cms:DescribeMetricList
cms:DescribeMonitoringAgentStatusescms:InstallMonitoringAgentecs:DescribeSecurityGroupAttribute
ecs:DescribeInstanceHistoryEventsecs:DescribeSnapshotsvpc:DescribeEipAddresses
bssopenapi:QueryInstanceBillbssopenapi:QueryBill,以及(含 RDS 时)
rds:DescribeDBInstancesrds:DescribeDBInstanceAttributerds:DescribeDBInstancePerformance
rds:DescribeSlowLogRecordsrds:DescribeBackups

更多细节

各层指南已在上面「怎么检查」中链接。另有两份配置参考: