CommunityRedacción y edicióngithub.com

zw008/VMware-Monitor

Monitoreo de solo lectura para VMware vCenter/ESXi: seguridad reforzada a nivel de código, sin operaciones destructivas.

¿Qué es VMware-Monitor?

VMware-Monitor es una skill de solo lectura para monitorear entornos VMware vCenter y ESXi. Diseñada con seguridad a nivel de código, no contiene ninguna operación de creación, eliminación, modificación o instantánea; solo consultas. Proporciona 11 herramientas MCP (Model Context Protocol) que cubren inventario (VMs, hosts, datastores, clústeres, redes), estado (alarmas activas, eventos recientes, sensores de hardware, servicios del host) y detalles de VM (CPU, memoria, discos, NICs, instantáneas, SO invitado). Además, incluye un escáner programable con webhooks para Slack/Discord. Es ideal para agentes de IA que necesitan información de vSphere sin riesgos de cambios accidentales, y funciona tanto mediante CLI como con MCP, siendo compatible con modelos locales pequeños (Ollama, Qwen) y modelos en la nube (Claude, GPT-4o). La skill también integra un campo "suggested_actions" en alarmas y eventos que guía al agente hacia skills complementarias para acciones correctivas.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add zw008/VMware-Monitor

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

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íaCapacidades
InventarioListar VMs, hosts ESXi, datastores, clústeres, redes
EstadoAlarmas activas, eventos recientes (filtrados por gravedad/tiempo), sensores de hardware, servicios del host
Detalles de VMCPU, memoria, discos, NICs, instantáneas, SO invitado, IP
EscaneoEscaneo 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 UsuarioSkill Recomendada
Monitoreo de solo lectura en vSphere, sin riesgosvmware-monitor ← esta skill
Almacenamiento: iSCSI, vSAN, datastoresvmware-storage
Ciclo de vida de VMs, despliegue, operaciones en invitadovmware-aiops
Tanzu Kubernetes (vSphere 8.x+)vmware-vks
Red NSX: segmentos, gateways, NATvmware-nsx
Seguridad NSX: reglas DFW, grupos de seguridadvmware-nsx-security
Aria Ops: métricas, alertas, planificación de capacidadvmware-aria
Flujos de trabajo de múltiples pasos con aprobaciónvmware-pilot
Líneas base de cumplimiento (CIS / 等保 / PCI-DSS), detección de desviaciones, asesor de corrección con LLMvmware-harden (uv tool install vmware-harden)
Balanceador de carga, AVI, ALB, AKO, Ingressvmware-avi (uv tool install vmware-avi)
Consulta de registros de auditoríavmware-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.

  1. 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)
  2. 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)
  3. Listar hosts --> vmware-monitor inventory hosts — marca hosts desconectados, en modo de mantenimiento inesperado, o con memoria > 90%
  4. Si falla la conexión --> ejecuta vmware-monitor doctor para diagnosticar problemas de configuración/red

Investigar una VM Específica

  1. Encontrar la VM --> vmware-monitor inventory vms --power-state poweredOff
  2. Obtener detalles --> vmware-monitor vm info problem-vm
  3. Verificar eventos relacionados --> vmware-monitor health events --hours 48
  4. Si la VM no se encuentra --> verifica el nombre con vmware-monitor inventory vms --limit 100 o comprueba el destino con --target <other-vcenter>

Configurar Monitoreo Continuo

  1. Configurar webhook en ~/.vmware-monitor/config.yaml
  2. Iniciar daemon --> vmware-monitor daemon start
  3. El daemon escanea cada 15 min y envía alertas a Slack/Discord

Modo de Uso

EscenarioRecomendadoPor Qué
Modelos locales/pequeños (Ollama, Qwen)CLI~2K tokens frente a ~8K para MCP
Modelos en la nube (Claude, GPT-4o)CualquieraMCP proporciona E/S JSON estructurada
Pipelines automatizadosMCPParámetros con seguridad de tipos, salida estructurada

Herramientas MCP (11 — todas de solo lectura)

HerramientaDescripción
list_virtual_machinesListar 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_hostsHosts ESXi con CPU, memoria, versión, tiempo de actividad
list_all_datastoresDatastores con capacidad, espacio libre, tipo
list_all_clustersClústeres con recuento de hosts, estado DRS/HA
list_all_networksRedes con recuento de VMs conectadas y accesibilidad
get_alarmsTodas las alarmas activas/disparadas — incluye sugerencias de corrección en suggested_actions
get_eventsEventos recientes filtrados por gravedad y tiempo — incluye sugerencias en suggested_actions
get_host_sensorsEstado de sensores de hardware (temperatura/voltaje/ventilador) por host con estado verde/amarillo/rojo
get_host_servicesEstado de servicios del host (estado de ejecución y política de inicio), opcionalmente filtrado por host
vm_infoInformación detallada de VM (CPU, memoria, discos, NICs, instantáneas)
vm_list_snapshotsLista 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"

  1. Ejecuta vmware-monitor doctor para diagnosticar
  2. Verifica el nombre de host/IP y puerto (443) del destino en config.yaml
  3. 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.

Licencia

MIT — github.com/zw008/VMware-Monitor

Skills relacionados