VMware Aria Operations
免責聲明:這是一個社群維護的開源專案,與 VMware, Inc. 或 Broadcom Inc. 無任何關聯、背書或贊助關係。「VMware」與「Aria」為 Broadcom 的商標。原始碼以 MIT 授權在 github.com/zw008/VMware-Aria 公開審查。
VMware Aria Operations (vRealize Operations) 人工智慧輔助監控 — 27 個 MCP 工具,涵蓋資源、警示、警示定義、容量規劃、異常偵測、報告自動化與平台健康狀態。
專為 Aria Operations 8.x / vRealize Operations 8.x 設計的領域聚焦監控技能。 配套技能:vmware-nsx(網路)、vmware-aiops(VM 生命週期)、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
何時使用此技能
效能監控(每日主動檢查):
- 檢查 VM 競爭:CPU Ready %、記憶體 Balloon、Swap 用量
- 取得任何資源的時間序列指標(CPU、記憶體、磁碟、網路)
- 依 CPU/記憶體/磁碟/網路找出前幾大耗用者
- 檢查每個資源的異常計數與風險徽章分數
警示管理:
- 列出、調查、確認或取消作用中警示
- 列出或篩選警示定義(範本)
- 從症狀定義建立新的警示定義(後根因分析)
- 啟用或停用警示定義;刪除過時的
容量規劃:
- 叢集剩餘容量(CPU、記憶體、磁碟裕度)
- 每個叢集的耗盡預測時間
- 調整規模:找出過度佈建或利用不足的 VM
- 容量概觀與 Aria 內建建議
報告自動化:
- 產生排程或隨需報告(容量、效能、SLA)
- 輪詢報告狀態直到 COMPLETED;取得 PDF/CSV 下載 URL
- 下載後刪除已產生的報告
將配套技能用於:
- VM 生命週期:建立、複製、快照、電源 →
vmware-aiops - NSX 網路:區段、閘道、NAT、路由 →
vmware-nsx - vSphere 清單、即時警示、事件 →
vmware-monitor - 儲存:iSCSI、vSAN、資料儲存區 →
vmware-storage - 負載平衡、AVI/ALB、AKO、Ingress →
vmware-avi
相關技能 — 技能路由
| 使用者意圖 | 建議技能 |
|---|---|
| Aria Operations 監控、警示、容量 | vmware-aria ← 此技能 |
| VM 生命週期、部署、客體操作 | 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。它強制執行四個根因完整性標準(可證偽性/充分性/必要性/機制)以及最多三輪的深化循環。停在部分結論是一種反模式 — 在輸出報告前,務必根據標準進行自我檢查。
每日 VM 健康檢查(主動維運)
判斷:不要追擊最高的 CPU 耗用者 — 追擊最高的競爭耗用者。在安靜主機上達到 90% CPU 的 VM 是健康的;僅 30% CPU 但 15% Ready 的 VM 則正在飢餓。關鍵指標:CPU Ready、記憶體 Balloon、磁碟延遲。
- 找出前幾大 CPU 耗用者 →
vmware-aria resource top --metric cpu|usage_average --top 20(這是起點集合,不是答案) - 檢查熱點 VM 的 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 - 取得熱點 VM 的 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
事件後續:建立偵測警示(RCA 後續行動)
解決事件後,建立一個早期警告警示以防止再次發生。警示定義管理為 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"(顯示的 criticality 是定義各狀態中的最大嚴重性) - 稍後啟用或停用 → MCP
set_alert_definition_state
產生容量報告
- 尋找報告範本 →
vmware-aria report definitions --name "Capacity" - 觸發報告產生 →
vmware-aria report generate <definition-id> --resources <resource-id>(Report 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 token vs MCP 約 8K |
| 雲端模型(Claude、GPT-4o) | 皆可 | MCP 提供結構化的 JSON I/O |
| 自動化管線 | MCP | 型別安全參數、結構化輸出 |
MCP 工具(27 個 — 20 個讀取、7 個寫入)
所有 MCP 工具都接受一個可選的 target 參數,以選擇要連線的 Aria Operations 實例。
| 類別 | 工具 | 類型 | 說明 |
|---|---|---|---|
| 資源 | list_resources | 讀取 | 依資源類型列出 VM、主機、叢集 |
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 | 讀取 | 需調整大小的 VM:過度/不足佈建 | |
| 報告 | list_report_definitions | 讀取 | 列出可用的報告定義範本 |
generate_report | 寫入 | 觸發報告產生(非同步;回傳 report_id) | |
list_reports | 讀取 | 列出已產生的報告,可依定義篩選 | |
get_report | 讀取 | 輪詢報告狀態 + 取得 PDF/CSV 下載 URL | |
delete_report | 寫入 | 刪除一份已產生的報告 | |
| 異常 | list_anomalies | 讀取 | 每個資源的異常計數(System Attributes|total_alarms 指標) |
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 | VM 請求的總 MHz |
| 作用中記憶體 | mem.active.average | 客體 OS 實際使用量(容量規劃) |
| 已耗用記憶體 | mem.consumed.average | 主機上的佔用空間(容量) |
| 記憶體 Balloon | mem.balloon.average | >0 = ESXi 正在回收記憶體 |
| 記憶體 Swap | mem.swapped.average | >0 = 嚴重壓力 |
| 磁碟讀取延遲 | disk.read.average | 讀取 I/O 延遲(毫秒) |
| 磁碟寫入延遲 | disk.write.average | 寫入 I/O 延遲(毫秒) |
| 網路接收 | net.received.average | 入站網路 KB/s |
| 網路傳送 | net.transmitted.average | 出站網路 KB/s |
完整 CLI 參考,包含所有選項與輸出格式:請參閱
references/cli-reference.md
故障排除
設定後出現「找不到 Token」錯誤
…