VMware Aria Operations
声明:这是一个社区维护的开源项目,与 VMware, Inc. 或 Broadcom Inc. 无关联,也未获得其认可或赞助。“VMware”和“Aria”是 Broadcom 的商标。源代码已在 github.com/zw008/VMware-Aria 公开审计,遵循 MIT 许可证。
VMware Aria Operations(vRealize Operations)AI 辅助监控——27 个 MCP 工具,涵盖资源、告警、告警定义、容量规划、异常检测、报告自动化和平台健康。
面向 Aria Operations 8.x / vRealize Operations 8.x 的领域专注监控技能。 配套技能:vmware-nsx(网络)、vmware-aiops(虚拟机生命周期)、vmware-monitor(只读 vSphere)、vmware-avi(AVI/ALB/AKO)、vmware-harden(合规基线)。 | vmware-pilot(工作流编排)| vmware-policy(审计/策略)|
本技能的功能
| 类别 | 工具 | 数量 |
|---|---|---|
| 资源 | 列出、获取详情、指标、健康徽章、最大消耗者 | 5 |
| 告警 | 列出、获取详情、确认、取消、列出定义 | 5 |
| 告警定义 | 列出症状、创建定义、启用/禁用、删除 | 4 |
| 容量 | 集群概览、剩余容量、剩余时间、缩扩容建议 | 4 |
| 报告 | 列出模板、生成、列出、获取状态+下载URL、删除 | 5 |
| 异常 | 列出异常、风险徽章 | 2 |
| 健康 | Aria 平台健康、收集器组状态 | 2 |
总计:27 个工具(20 个只读 + 7 个写入)
快速安装
uv tool install vmware-aria
vmware-aria doctor
何时使用本技能
性能监控(日常主动检查):
- 检查虚拟机争用:CPU Ready 百分比、内存 Balloon、交换空间使用量
- 获取任意资源的时间序列指标(CPU、内存、磁盘、网络)
- 按 CPU/内存/磁盘/网络查找最大消耗者
- 检查每个资源的异常计数和风险徽章分数
告警管理:
- 列出、调查、确认或取消活跃告警
- 列出或过滤告警定义(模板)
- 从症状定义创建新的告警定义(事后根因分析后)
- 启用或禁用告警定义;删除过期的告警定义
容量规划:
- 集群剩余容量(CPU、内存、磁盘余量)
- 每个集群的满载时间预测
- 缩扩容建议:查找过度配置或利用不足的虚拟机
- 容量概览,包含 Aria 内置建议
报告自动化:
- 生成计划或按需报告(容量、性能、SLA)
- 轮询报告状态直至 COMPLETED;获取 PDF/CSV 下载 URL
- 下载后删除生成的报告
使用配套技能处理:
- 虚拟机生命周期:创建、克隆、快照、电源操作 →
vmware-aiops - NSX 网络:分段、网关、NAT、路由 →
vmware-nsx - vSphere 清单、实时告警、事件 →
vmware-monitor - 存储:iSCSI、vSAN、数据存储 →
vmware-storage - 负载均衡、AVI/ALB、AKO、Ingress →
vmware-avi
相关技能——技能路由
| 用户意图 | 推荐技能 |
|---|---|
| Aria Operations 监控、告警、容量 | vmware-aria ← 本技能 |
| 虚拟机生命周期、部署、客户机操作 | vmware-aiops |
| NSX 网络:分段、网关、NAT、路由 | vmware-nsx |
| 只读 vSphere 清单、事件、告警 | vmware-monitor |
| 存储:iSCSI、vSAN、数据存储 | vmware-storage |
| 带审批的多步骤工作流 | vmware-pilot |
| 合规基线(CIS / 等保 / PCI-DSS)、漂移检测、LLM 修复建议 | vmware-harden (uv tool install vmware-harden) |
| 负载均衡器、AVI、ALB、AKO、Ingress | vmware-avi (uv tool install vmware-avi) |
| 审计日志查询 | vmware-policy (vmware-audit CLI) |
常见工作流
诊断调查:在运行任何“为什么 X 慢/失败/宕机”工作流之前,请遵循
references/investigation-protocol.md。它强制执行四个根因完整性标准(可证伪性/充分性/必要性/机制)以及最多三轮的深化循环。停留在部分结论上是一种反模式——在输出报告前,始终对照标准进行自我检查。
每日虚拟机健康检查(主动运维)
判断:不要追逐最高的 CPU 消耗者——而要追逐最高的争用消耗者。一个在安静主机上 CPU 使用率 90% 的虚拟机是健康的;一个 CPU 使用率 30% 但 Ready 值 15% 的虚拟机正在饥饿。关键指标:CPU Ready、内存 Balloon、磁盘延迟。
- 查找最大 CPU 消耗者 →
vmware-aria resource top --metric cpu|usage_average --top 20(这是起始集合,而非答案) - 检查热点虚拟机的 CPU Ready →
vmware-aria resource metrics <vm-id> --metrics cpu.ready.summation --hours 24-
5% = 警告,>10% = 问题,>20% = 严重
-
- 检查内存压力 →
vmware-aria resource metrics <vm-id> --metrics mem.balloon.average,mem.swapped.average --hours 24- Balloon >0 = ESXi 正在回收内存;Swap >0 = 严重——立即操作
- 列出活跃的 CRITICAL/IMMEDIATE 告警 →
vmware-aria alert list --criticality CRITICAL - 检查异常计数 →
vmware-aria anomaly list - 在报告任何“根因”之前,对照调查协议进行交叉验证——高消耗很少是根因,通常是下游症状
调查高 CPU 告警
- 列出活跃的 CRITICAL 告警 →
vmware-aria alert list --criticality CRITICAL - 获取告警详情 + 症状 →
vmware-aria alert get <alert-id> - 查找最大 CPU 消耗者 →
vmware-aria resource top --metric cpu|usage_average - 获取热点虚拟机 24 小时 CPU 指标 →
vmware-aria resource metrics <vm-id> --metrics cpu|usage_average --hours 24 - 检查风险徽章 →
vmware-aria anomaly risk <vm-id> - 确认告警 →
vmware-aria alert acknowledge <alert-id>
容量规划
- 列出集群 →
vmware-aria resource list --kind ClusterComputeResource - 获取剩余容量 →
vmware-aria capacity remaining <cluster-id> - 预测满载时间 →
vmware-aria capacity time-remaining <cluster-id> - 获取带建议的容量概览 →
vmware-aria capacity overview <cluster-id> - 查找缩扩容候选 →
vmware-aria capacity rightsizing
事后:创建检测告警(根因分析后续)
解决事件后,创建早期警告告警以防止再次发生。告警定义管理是MCP 专用(无 CLI 子命令):
- 查找匹配的症状定义 → MCP
list_symptom_definitions(按name_filter/resource_kind过滤) - 创建引用症状的告警定义 → MCP
create_alert_definition,指定名称、resource_kind、symptom_definition_ids、criticality(任意一个症状触发即触发告警) - 验证定义是否出现 →
vmware-aria alert definitions --name "Gold VM CPU"(显示的严重性是定义各状态中的最大严重性) - 稍后启用或禁用 → MCP
set_alert_definition_state
生成容量报告
- 查找报告模板 →
vmware-aria report definitions --name "Capacity" - 触发报告生成 →
vmware-aria report generate <definition-id> --resources <resource-id>(报告 API 要求至少一个资源 UUID) - 轮询直至完成 →
vmware-aria report get <report-id>(重复直到status == COMPLETED) - 通过返回的
download_url(PDF)或csv_url下载 - 清理 →
vmware-aria report delete <report-id>
多目标操作
所有命令都接受 --target <name> 以针对特定的 Aria Ops 实例操作:
vmware-aria alert list --target prod
vmware-aria resource top --target lab
使用方式
| 场景 | 推荐方式 | 原因 |
|---|---|---|
| 本地/小型模型(Ollama、Qwen) | CLI | 约 2K tokens vs MCP 约 8K |
| 云端模型(Claude、GPT-4o) | 皆可 | MCP 提供结构化 JSON 输入输出 |
| 自动化流水线 | MCP | 类型安全参数、结构化输出 |
MCP 工具(27 个——20 个只读,7 个写入)
所有 MCP 工具都接受可选的 target 参数,用于选择要连接的 Aria Operations 实例。
| 类别 | 工具 | 类型 | 描述 |
|---|---|---|---|
| 资源 | list_resources | 只读 | 按资源类型列出虚拟机、主机、集群 |
get_resource | 只读 | 获取资源详情,包含健康、风险、效率徽章 | |
get_resource_metrics | 只读 | 获取任意资源的时间序列指标统计数据 | |
get_resource_health | 只读 | 获取健康徽章分数(0–100) | |
get_top_consumers | 只读 | 按 CPU、内存、磁盘或网络使用率对资源排名 | |
| 告警 | list_alerts | 只读 | 列出带有严重性和资源 ID 的活跃告警(通过 get_resource 解析名称) |
get_alert | 只读 | 获取告警详情及贡献症状(建议位于告警定义中) | |
acknowledge_alert | 写入 | 将告警标记为已确认(不会关闭告警) | |
cancel_alert | 写入 | 取消(忽略)活跃告警 | |
list_alert_definitions | 只读 | 列出 Aria Ops 中配置的告警模板 | |
| 告警定义 | list_symptom_definitions | 只读 | 列出症状定义——创建告警定义时使用 ID |
create_alert_definition | 写入 | 从症状定义 ID 创建新的告警定义 | |
set_alert_definition_state | 写入 | 启用或禁用告警定义 | |
delete_alert_definition | 写入 | 永久删除告警定义 | |
| 容量 | get_capacity_overview | 只读 | 组级别剩余百分比 + 每个维度的余量和满载天数 |
get_remaining_capacity | 只读 | 达到限制前的剩余 CPU、内存、磁盘 | |
get_time_remaining | 只读 | 集群容量耗尽的天数 | |
list_rightsizing_recommendations | 只读 | 需要调整大小的虚拟机:过度/利用不足 | |
| 报告 | list_report_definitions | 只读 | 列出可用的报告定义模板 |
generate_report | 写入 | 触发报告生成(异步;返回 report_id) | |
list_reports | 只读 | 列出已生成的报告,可按定义过滤 | |
get_report | 只读 | 轮询报告状态 + 获取 PDF/CSV 下载 URL | |
delete_report | 写入 | 删除已生成的报告 | |
| 异常 | list_anomalies | 只读 | 每个资源的异常计数(System Attributes |
get_resource_riskbadge | 只读 | 风险分数(0–100):未来问题的可能性 | |
| 健康 | get_aria_health | 只读 | Aria 平台节点状态(ONLINE/OFFLINE) |
list_collector_groups | 只读 | 收集器代理状态和连接性 |
读/写拆分:20 个只读,7 个写入。所有写入操作都会审计记录到 ~/.vmware/audit.db(通过 vmware-policy)。
CLI 快速参考
# 资源
vmware-aria resource list [--kind VirtualMachine|HostSystem|ClusterComputeResource] [--name <filter>]
vmware-aria resource get <resource-id>
vmware-aria resource metrics <resource-id> --metrics cpu|usage_average,mem|usage_average --hours 4
vmware-aria resource metrics <vm-id> --metrics cpu.ready.summation,mem.balloon.average --hours 24
vmware-aria resource health <resource-id>
vmware-aria resource top --metric cpu|usage_average --kind VirtualMachine --top 10
# 告警
vmware-aria alert list [--criticality CRITICAL|IMMEDIATE|WARNING|INFORMATION]
vmware-aria alert get <alert-id>
vmware-aria alert acknowledge <alert-id>
vmware-aria alert cancel <alert-id>
vmware-aria alert definitions [--name <filter>]
# 告警定义:创建/启用/禁用/删除和症状定义查找是 MCP 专用工具
#(list_symptom_definitions、create_alert_definition、
# set_alert_definition_state、delete_alert_definition)——无 CLI 子命令。
# 容量
vmware-aria capacity overview <cluster-id>
vmware-aria capacity remaining <resource-id>
vmware-aria capacity time-remaining <resource-id>
vmware-aria capacity rightsizing [--resource-id <vm-id>]
# 报告(异步:生成 → 轮询获取 → 下载 → 删除)
vmware-aria report definitions [--name <filter>]
vmware-aria report generate <definition-id> --resources <id1,id2> # 至少需要一个资源 UUID
vmware-aria report list [--definition-id <id>]
vmware-aria report get <report-id> # 轮询直到 status == COMPLETED;显示 download_url
vmware-aria report delete <report-id>
# 异常
vmware-aria anomaly list [--resource-id <id>]
vmware-aria anomaly risk <resource-id>
# 健康
vmware-aria health status
vmware-aria health collectors
# 诊断
vmware-aria doctor [--skip-auth]
关键指标名称(用于 resource metrics 命令)
| 指标 | API 键 | 含义 |
|---|---|---|
| CPU Ready 百分比 | cpu.ready.summation | vCPU 等待物理核心;>5% = 警告 |
| CPU 已使用 | cpu.used.summation | 实际 CPU 执行时间 |
| CPU 需求 | cpu.demand.average | 虚拟机请求的 MHz 总计 |
| 内存活跃 | mem.active.average | 客户机操作系统实际使用量(用于大小调整) |
| 内存已消耗 | mem.consumed.average | 主机上的占用(用于容量) |
| 内存 Balloon | mem.balloon.average | >0 = ESXi 正在回收内存 |
| 内存交换 | mem.swapped.average | >0 = 严重压力 |
| 磁盘读取延迟 | disk.read.average | 读取 I/O 延迟 ms |
| 磁盘写入延迟 | disk.write.average | 写入 I/O 延迟 ms |
| 网络接收 | net.received.average | 入站网络 KB/s |
| 网络发送 | net.transmitted.average | 出站网络 KB/s |
完整 CLI 参考,包含所有选项和输出格式:参见
references/cli-reference.md
故障排除
设置后出现“Token not found”错误
…