VMware Monitor (Solo Lectura)
Aviso legal: Este es un proyecto de código abierto mantenido por la comunidad y no está afiliado, respaldado ni patrocinado por VMware, Inc. o Broadcom Inc. "VMware" y "vSphere" son marcas comerciales de Broadcom. El código fuente es auditado públicamente en github.com/zw008/VMware-Monitor bajo la licencia MIT.
Monitoreo de solo lectura para VMware vCenter/ESXi: 11 herramientas MCP, cero código destructivo.
Seguridad a nivel de código: Esta skill NO contiene operaciones de encendido, creación, eliminación, instantáneas o modificación. No es que estén deshabilitadas; simplemente no existen en el código. Skills complementarias: vmware-aiops (ciclo de vida de VMs), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-nsx (red NSX), vmware-nsx-security (DFW/firewall), vmware-aria (métricas/alertas/capacidad), vmware-avi (AVI/ALB/AKO), vmware-harden (líneas base de cumplimiento). | vmware-pilot (orquestación de flujos) | vmware-policy (auditoría/políticas)
¿Qué Hace Esta Skill
| Categoría | Capacidades |
|---|---|
| Inventario | Listar VMs, hosts ESXi, datastores, clústeres, redes |
| Estado | Alarmas activas, eventos recientes (filtrados por gravedad/tiempo), sensores de hardware, servicios del host |
| Detalles de VM | CPU, memoria, discos, NICs, instantáneas, SO invitado, IP |
| Escaneo | Escaneo programado de alarmas/logs con webhooks de Slack/Discord |
Instalación Rápida
uv tool install vmware-monitor
vmware-monitor doctor
Cuándo Usar Esta Skill
- Listar o buscar VMs, hosts, datastores, clústeres
- Verificar alarmas activas o eventos recientes
- Obtener información detallada de una VM específica
- Configurar monitoreo programado con alertas mediante webhook
- Cualquier consulta de solo lectura en VMware donde la seguridad sea primordial
Campo suggested_actions en Salida de Alarmas/Eventos
Los resultados de get_alarms y get_events incluyen una lista suggested_actions.
Cada elemento es una pista lista para usar que apunta a la skill y herramienta complementaria correcta:
{
"alarm_name": "VM CPU Ready High",
"entity_name": "prod-db-01",
"suggested_actions": [
"vmware-aiops: acknowledge_vcenter_alarm(entity_name='prod-db-01', alarm_name='VM CPU Ready High')",
"vmware-aiops: reset_vcenter_alarm(entity_name='prod-db-01', alarm_name='VM CPU Ready High')"
]
}
Los agentes de IA (especialmente modelos locales pequeños) pueden leer estas pistas directamente para determinar qué skill y herramienta llamar a continuación, sin necesidad de razonar sobre el enrutamiento de skills.
Usa skills complementarias para:
- Encender/apagar, desplegar, clonar, migrar -->
vmware-aiops - iSCSI, vSAN, gestión de datastores -->
vmware-storage - Clústeres Tanzu Kubernetes -->
vmware-vks - Balanceo de carga, AVI/ALB, AKO, Ingress -->
vmware-avi
Skills Relacionadas — Enrutamiento de Skills
| Intención del Usuario | Skill Recomendada |
|---|---|
| Monitoreo de solo lectura en vSphere, sin riesgos | vmware-monitor ← esta skill |
| Almacenamiento: iSCSI, vSAN, datastores | vmware-storage |
| Ciclo de vida de VMs, despliegue, operaciones en invitado | vmware-aiops |
| Tanzu Kubernetes (vSphere 8.x+) | vmware-vks |
| Red NSX: segmentos, gateways, NAT | vmware-nsx |
| Seguridad NSX: reglas DFW, grupos de seguridad | vmware-nsx-security |
| Aria Ops: métricas, alertas, planificación de capacidad | vmware-aria |
| Flujos de trabajo de múltiples pasos con aprobación | vmware-pilot |
| Líneas base de cumplimiento (CIS / 等保 / PCI-DSS), detección de desviaciones, asesor de corrección con LLM | vmware-harden (uv tool install vmware-harden) |
| Balanceador de carga, AVI, ALB, AKO, Ingress | vmware-avi (uv tool install vmware-avi) |
| Consulta de registros de auditoría | vmware-policy (CLI vmware-audit) |
Flujos de Trabajo Comunes
Investigaciones de diagnóstico: Antes de ejecutar cualquier flujo de "por qué X falla / está caído / anormal", sigue
references/investigation-protocol.md. Este protocolo impone los cuatro criterios de completitud de causa raíz (falsabilidad / suficiencia / necesidad / mecanismo) y el bucle de profundización de hasta tres rondas. Dado que vmware-monitor es de solo lectura, sirve como fuente de datos; la ejecución de acciones corresponde a skills complementarias como vmware-aiops.
Verificación de Estado Diaria
Juicio: las alarmas te dicen lo que vCenter ha decidido que está mal, los eventos te dicen lo que ocurrió. Difieren: una ráfaga de eventos sin alarmas a menudo indica una calibración incorrecta de umbrales de métricas, no que "todo está bien". Lee ambos.
- Verificar alarmas -->
vmware-monitor health alarms --target prod-vcenter— enfócate en gravedad Roja Y alarmas de más de 1 hora (las transitorias se auto-limpian) - Revisar eventos recientes -->
vmware-monitor health events --hours 24 --severity warning— busca eventos repetidos de la misma entidad (un solo evento es ruido; 50 eventos en una hora es un patrón) - Listar hosts -->
vmware-monitor inventory hosts— marca hosts desconectados, en modo de mantenimiento inesperado, o con memoria > 90% - Si falla la conexión --> ejecuta
vmware-monitor doctorpara diagnosticar problemas de configuración/red
Investigar una VM Específica
- Encontrar la VM -->
vmware-monitor inventory vms --power-state poweredOff - Obtener detalles -->
vmware-monitor vm info problem-vm - Verificar eventos relacionados -->
vmware-monitor health events --hours 48 - Si la VM no se encuentra --> verifica el nombre con
vmware-monitor inventory vms --limit 100o comprueba el destino con--target <other-vcenter>
Configurar Monitoreo Continuo
- Configurar webhook en
~/.vmware-monitor/config.yaml - Iniciar daemon -->
vmware-monitor daemon start - El daemon escanea cada 15 min y envía alertas a Slack/Discord
Modo de Uso
| Escenario | Recomendado | Por Qué |
|---|---|---|
| Modelos locales/pequeños (Ollama, Qwen) | CLI | ~2K tokens frente a ~8K para MCP |
| Modelos en la nube (Claude, GPT-4o) | Cualquiera | MCP proporciona E/S JSON estructurada |
| Pipelines automatizados | MCP | Parámetros con seguridad de tipos, salida estructurada |
Herramientas MCP (11 — todas de solo lectura)
| Herramienta | Descripción |
|---|---|
list_virtual_machines | Listar VMs con filtros (estado de encendido, orden, límite, folder_filter para búsqueda insensible a mayúsculas en árbol de carpetas); cada VM incluye folder_path |
list_esxi_hosts | Hosts ESXi con CPU, memoria, versión, tiempo de actividad |
list_all_datastores | Datastores con capacidad, espacio libre, tipo |
list_all_clusters | Clústeres con recuento de hosts, estado DRS/HA |
list_all_networks | Redes con recuento de VMs conectadas y accesibilidad |
get_alarms | Todas las alarmas activas/disparadas — incluye sugerencias de corrección en suggested_actions |
get_events | Eventos recientes filtrados por gravedad y tiempo — incluye sugerencias en suggested_actions |
get_host_sensors | Estado de sensores de hardware (temperatura/voltaje/ventilador) por host con estado verde/amarillo/rojo |
get_host_services | Estado de servicios del host (estado de ejecución y política de inicio), opcionalmente filtrado por host |
vm_info | Información detallada de VM (CPU, memoria, discos, NICs, instantáneas) |
vm_list_snapshots | Lista de instantáneas de una VM con jerarquía de anidamiento (solo lectura) |
Todas las herramientas son de solo lectura. Ninguna herramienta puede modificar, crear o eliminar ningún recurso.
Referencia Rápida CLI
vmware-monitor inventory vms [--target <t>] [--limit 20] [--power-state poweredOn]
vmware-monitor inventory hosts [--target <t>]
vmware-monitor inventory datastores [--target <t>]
vmware-monitor inventory clusters [--target <t>]
vmware-monitor inventory networks [--target <t>]
vmware-monitor health alarms [--target <t>]
vmware-monitor health events [--hours 24] [--severity warning]
vmware-monitor health sensors [--target <t>]
vmware-monitor health services [--host <esxi>] [--target <t>]
vmware-monitor vm info <vm-name> [--target <t>]
vmware-monitor scan now [--target <t>]
vmware-monitor daemon start|stop|status
vmware-monitor doctor [--skip-auth]
Referencia CLI completa: ver
references/cli-reference.md
Solución de Problemas
Alarmas devuelve vacío pero vCenter muestra alarmas
La herramienta get_alarms consulta alarmas disparadas a nivel de carpeta raíz. Algunas alarmas son específicas de entidad: intenta verificar eventos en su lugar: get_events --hours 1 --severity info.
Error "Conexión rechazada"
- Ejecuta
vmware-monitor doctorpara diagnosticar - Verifica el nombre de host/IP y puerto (443) del destino en config.yaml
- Para certificados autofirmados: establece
disableSslCertValidation: true
Eventos devuelve demasiados resultados
Usa el filtro de gravedad: --severity warning (predeterminado) filtra los eventos de nivel informativo. Usa --hours 4 para acotar el rango de tiempo.
VM info muestra "guest_os: unknown"
VMware Tools no está instalado o no se está ejecutando en el invitado. Instala/inicia VMware Tools para la detección del SO invitado, dirección IP e información de la familia del invitado.
Doctor pasa pero los comandos fallan con timeout
Es posible que vCenter esté bajo carga pesada. Intenta apuntar directamente a un host ESXi específico en lugar de vCenter, o aumenta el tiempo de espera de conexión en config.yaml.
Configuración
uv tool install vmware-monitor
mkdir -p ~/.vmware-monitor
cp config.example.yaml ~/.vmware-monitor/config.yaml
cp .env.example ~/.vmware-monitor/.env
chmod 600 ~/.vmware-monitor/.env
# Editar ~/.vmware-monitor/config.yaml (destinos) y .env (contraseñas)
Todas las herramientas se auditan automáticamente a través de vmware-policy. Registros de auditoría:
vmware-audit log --last 20
Guía de configuración completa, detalles de seguridad y compatibilidad con plataformas de IA: ver
references/setup-guide.md
Auditoría y Seguridad
Todas las operaciones se auditan automáticamente a través de vmware-policy (decorador @vmware_tool):
- Cada llamada a herramienta se registra en
~/.vmware/audit.db(SQLite, independiente del framework) - Las reglas de política se aplican mediante
~/.vmware/rules.yaml(reglas de denegación, ventanas de mantenimiento, niveles de riesgo) - Clasificación de riesgo: cada herramienta etiquetada como bajo/medio/alto/crítico
- Ver operaciones recientes:
vmware-audit log --last 20 - Ver operaciones denegadas:
vmware-audit log --status denied
vmware-policy se instala automáticamente como dependencia, no se necesita configuración manual.