Community写作与编辑github.com

zw008/VMware-Aria

VMware Aria Operations 监控、告警与容量规划——面向 AI 代理的 MCP 工具

VMware-Aria 是什么?

该技能提供 27 个 MCP 工具,用于 VMware Aria Operations(原 vRealize Operations)8.x 的 AI 辅助监控、告警管理和容量规划。它涵盖资源查询与指标获取、告警生命周期管理(列出、查看、确认、取消告警及定义告警规则)、容量规划(集群概览、剩余容量与时间预测、虚拟机缩/扩容建议)、报告自动化(生成、轮询状态、下载与清理报告)、异常检测和平台健康检查。技能支持 CLI 和 MCP 两种模式,CLI 适合本地/轻量模型,MCP 提供结构化 JSON 输入输出,适用于云端模型和自动化流水线。所有写入操作均会记录审计日志至本地文件。配套技能覆盖虚拟机生命周期、NSX 网络、vSphere 只读清单、存储和合规基线等领域。

兼容平台✓Claude Code~Codex CLI✓Cursor
npx skills add zw008/VMware-Aria

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

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、Ingressvmware-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、磁盘延迟。

  1. 查找最大 CPU 消耗者 → vmware-aria resource top --metric cpu|usage_average --top 20(这是起始集合,而非答案)
  2. 检查热点虚拟机的 CPU Ready → vmware-aria resource metrics <vm-id> --metrics cpu.ready.summation --hours 24
    • 5% = 警告,>10% = 问题,>20% = 严重

  3. 检查内存压力 → vmware-aria resource metrics <vm-id> --metrics mem.balloon.average,mem.swapped.average --hours 24
    • Balloon >0 = ESXi 正在回收内存;Swap >0 = 严重——立即操作
  4. 列出活跃的 CRITICAL/IMMEDIATE 告警 → vmware-aria alert list --criticality CRITICAL
  5. 检查异常计数 → vmware-aria anomaly list
  6. 在报告任何“根因”之前,对照调查协议进行交叉验证——高消耗很少是根因,通常是下游症状

调查高 CPU 告警

  1. 列出活跃的 CRITICAL 告警 → vmware-aria alert list --criticality CRITICAL
  2. 获取告警详情 + 症状 → vmware-aria alert get <alert-id>
  3. 查找最大 CPU 消耗者 → vmware-aria resource top --metric cpu|usage_average
  4. 获取热点虚拟机 24 小时 CPU 指标 → vmware-aria resource metrics <vm-id> --metrics cpu|usage_average --hours 24
  5. 检查风险徽章 → vmware-aria anomaly risk <vm-id>
  6. 确认告警 → vmware-aria alert acknowledge <alert-id>

容量规划

  1. 列出集群 → vmware-aria resource list --kind ClusterComputeResource
  2. 获取剩余容量 → vmware-aria capacity remaining <cluster-id>
  3. 预测满载时间 → vmware-aria capacity time-remaining <cluster-id>
  4. 获取带建议的容量概览 → vmware-aria capacity overview <cluster-id>
  5. 查找缩扩容候选 → vmware-aria capacity rightsizing

事后:创建检测告警(根因分析后续)

解决事件后,创建早期警告告警以防止再次发生。告警定义管理是MCP 专用(无 CLI 子命令):

  1. 查找匹配的症状定义 → MCP list_symptom_definitions(按 name_filter / resource_kind 过滤)
  2. 创建引用症状的告警定义 → MCP create_alert_definition,指定名称、resource_kind、symptom_definition_ids、criticality(任意一个症状触发即触发告警)
  3. 验证定义是否出现 → vmware-aria alert definitions --name "Gold VM CPU"(显示的严重性是定义各状态中的最大严重性)
  4. 稍后启用或禁用 → MCP set_alert_definition_state

生成容量报告

  1. 查找报告模板 → vmware-aria report definitions --name "Capacity"
  2. 触发报告生成 → vmware-aria report generate <definition-id> --resources <resource-id>(报告 API 要求至少一个资源 UUID)
  3. 轮询直至完成 → vmware-aria report get <report-id>(重复直到 status == COMPLETED)
  4. 通过返回的 download_url(PDF)或 csv_url 下载
  5. 清理 → 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.summationvCPU 等待物理核心;>5% = 警告
CPU 已使用cpu.used.summation实际 CPU 执行时间
CPU 需求cpu.demand.average虚拟机请求的 MHz 总计
内存活跃mem.active.average客户机操作系统实际使用量(用于大小调整)
内存已消耗mem.consumed.average主机上的占用(用于容量)
内存 Balloonmem.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”错误

…

相关技能