CommunityEscrita e Ediçãogithub.com

zw008/VMware-Monitor

Monitoramento VMware vCenter/ESXi somente leitura — segurança imposta por código, zero operações destrutivas.

O que é VMware-Monitor?

O VMware Monitor (Read-Only) é uma skill (ferramenta MCP) desenvolvida para equipes de infraestrutura e operações que precisam monitorar ambientes VMware de forma segura, sem nenhum risco de alterações acidentais. Ela oferece 11 ferramentas MCP puramente de leitura, permitindo listar VMs, hosts ESXi, datastores, clusters e redes; verificar alarmes ativos e eventos recentes; obter detalhes completos de uma VM (CPU, memória, discos, NICs, snapshots) e consultar sensores de hardware e serviços de host. A segurança é garantida no código: nenhuma operação de criação, exclusão, modificação ou snapshot existe na base de código — não apenas desabilitada, mas ausente. A skill também inclui um sistema de varredura agendada com webhooks para Slack/Discord, e cada resultado de alarme/evento traz sugestões de ação que direcionam para a skill complementar correta (ex.: vmware-aiops para ações corretivas). É compatível com modelos locais (Ollama, Qwen) via CLI e com modelos em nuvem (Claude, GPT-4o) via MCP, sendo ideal para consultas somente leitura onde a segurança é primordial.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add zw008/VMware-Monitor

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

VMware Monitor (Somente Leitura)

Aviso: Este é um projeto open-source mantido pela comunidade e não é afiliado, endossado ou patrocinado pela VMware, Inc. ou Broadcom Inc. "VMware" e "vSphere" são marcas registradas da Broadcom. O código-fonte é publicamente auditável em github.com/zw008/VMware-Monitor sob licença MIT.

Monitoramento VMware vCenter/ESXi somente leitura — 11 ferramentas MCP, zero código destrutivo.

Segurança em nível de código: Esta skill NÃO contém operações de ligar/desligar, criar, deletar, snapshot ou modificar. Não estão desabilitadas — elas simplesmente não existem no código. Skills complementares: vmware-aiops (ciclo de vida de VMs), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-nsx (redes NSX), vmware-nsx-security (DFW/firewall), vmware-aria (métricas/alarmes/capacidade), vmware-avi (AVI/ALB/AKO), vmware-harden (baselines de conformidade). | vmware-pilot (orquestração de fluxos) | vmware-policy (auditoria/políticas)

O Que Esta Skill Faz

CategoriaCapacidades
InventárioListar VMs, hosts ESXi, datastores, clusters, redes
SaúdeAlarmes ativos, eventos recentes (filtrados por severidade/tempo), sensores de hardware, serviços do host
Detalhes da VMCPU, memória, discos, NICs, snapshots, SO convidado, IP
VarreduraVarredura programada de alarmes/logs com webhooks Slack/Discord

Instalação Rápida

uv tool install vmware-monitor
vmware-monitor doctor

Quando Usar Esta Skill

  • Listar ou pesquisar VMs, hosts, datastores, clusters
  • Verificar alarmes ativos ou eventos recentes
  • Obter informações detalhadas de uma VM específica
  • Configurar monitoramento programado com alertas por webhook
  • Qualquer consulta VMware somente leitura onde a segurança é primordial

Campo suggested_actions na Saída de Alarmes/Eventos

Os resultados de get_alarms e get_events incluem uma lista suggested_actions. Cada item é uma dica pronta para uso que aponta para a skill e ferramenta complementar correta:

{
  "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')"
  ]
}

Agentes de IA (especialmente modelos locais menores) podem ler essas dicas diretamente para determinar qual skill e ferramenta chamar em seguida, sem precisar raciocinar sobre o roteamento de skills.

Use skills complementares para:

  • Ligar/desligar, implantar, clonar, migrar --> vmware-aiops
  • Gerenciamento de iSCSI, vSAN, datastores --> vmware-storage
  • Clusters Kubernetes Tanzu --> vmware-vks
  • Balanceamento de carga, AVI/ALB, AKO, Ingress --> vmware-avi

Skills Relacionadas — Roteamento de Skills

Intenção do UsuárioSkill Recomendada
Monitoramento vSphere somente leitura, risco zerovmware-monitor ← esta skill
Armazenamento: iSCSI, vSAN, datastoresvmware-storage
Ciclo de vida de VMs, implantação, operações convidadasvmware-aiops
Tanzu Kubernetes (vSphere 8.x+)vmware-vks
Redes NSX: segmentos, gateways, NATvmware-nsx
Segurança NSX: regras DFW, grupos de segurançavmware-nsx-security
Aria Ops: métricas, alarmes, planejamento de capacidadevmware-aria
Fluxos de trabalho de múltiplas etapas com aprovaçãovmware-pilot
Baselines de conformidade (CIS / 等保 / PCI-DSS), detecção de desvios, consultor de correção com LLMvmware-harden (uv tool install vmware-harden)
Balanceador de carga, AVI, ALB, AKO, Ingressvmware-avi (uv tool install vmware-avi)
Consulta de logs de auditoriavmware-policy (vmware-audit CLI)

Fluxos de Trabalho Comuns

Investigações diagnósticas: Antes de executar qualquer fluxo de "por que X está falhando / inativo / anormal", siga o references/investigation-protocol.md. Ele impõe os quatro critérios de completude de causa raiz (falseabilidade / suficiência / necessidade / mecanismo) e o loop de aprofundamento de até três rodadas. Como o vmware-monitor é somente leitura, ele serve como fonte de dados — a atuação pertence a skills complementares como vmware-aiops.

Verificação Diária de Saúde

Julgamento: alarmes informam o que o vCenter decidiu que está errado, eventos informam o que aconteceu. Eles divergem — uma explosão de eventos sem alarmes geralmente sinaliza um desalinhamento de limite de métrica, não "tudo está bem". Leia ambos.

  1. Verificar alarmes --> vmware-monitor health alarms --target prod-vcenter — concentre-se em severidade Vermelha E alarmes com mais de 1 hora (os transitórios se limpam sozinhos)
  2. Revisar eventos recentes --> vmware-monitor health events --hours 24 --severity warning — procure eventos repetidos da mesma entidade (um único evento é ruído; 50 eventos em uma hora é um padrão)
  3. Listar hosts --> vmware-monitor inventory hosts — sinalize hosts desconectados, em manutenção inesperadamente, ou memória > 90%
  4. Se a conexão falhar --> execute vmware-monitor doctor para diagnosticar problemas de configuração/rede

Investigar uma VM Específica

  1. Encontrar a VM --> vmware-monitor inventory vms --power-state poweredOff
  2. Obter detalhes --> vmware-monitor vm info problem-vm
  3. Verificar eventos relacionados --> vmware-monitor health events --hours 48
  4. Se a VM não for encontrada --> verifique o nome da VM com vmware-monitor inventory vms --limit 100 ou altere o alvo com --target <outro-vcenter>

Configurar Monitoramento Contínuo

  1. Configurar webhook em ~/.vmware-monitor/config.yaml
  2. Iniciar daemon --> vmware-monitor daemon start
  3. O daemon varre a cada 15 min, envia alertas para Slack/Discord

Modo de Uso

CenárioRecomendadoPor quê?
Modelos locais/pequenos (Ollama, Qwen)CLI~2K tokens vs ~8K para MCP
Modelos em nuvem (Claude, GPT-4o)Qualquer umMCP fornece E/S JSON estruturada
Pipelines automatizadosMCPParâmetros com tipo seguro, saída estruturada

Ferramentas MCP (11 — todas somente leitura)

FerramentaDescrição
list_virtual_machinesListar VMs com filtros (estado de energia, ordenação, limite, folder_filter para busca insensível a maiúsculas/minúsculas na árvore de pastas); cada VM inclui folder_path
list_esxi_hostsHosts ESXi com CPU, memória, versão, uptime
list_all_datastoresDatastores com capacidade, espaço livre, tipo
list_all_clustersClusters com contagem de hosts, status DRS/HA
list_all_networksRedes com contagem de VMs anexadas e acessibilidade
get_alarmsTodos os alarmes ativos/disparados — inclui dicas de correção suggested_actions
get_eventsEventos recentes filtrados por severidade e tempo — inclui dicas suggested_actions
get_host_sensorsStatus dos sensores de hardware (temperatura/tensão/ventoinha) por host com saúde verde/amarelo/vermelho
get_host_servicesStatus dos serviços do host (estado de execução e política de inicialização), opcionalmente filtrado por host
vm_infoInformações detalhadas da VM (CPU, memória, discos, NICs, snapshots)
vm_list_snapshotsLista de snapshots de uma VM com hierarquia de aninhamento (somente leitura)

Todas as ferramentas são somente leitura. Nenhuma ferramenta pode modificar, criar ou deletar qualquer recurso.

Referência Rápida da 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]

Referência completa da CLI: veja references/cli-reference.md

Solução de Problemas

Alarmes retornam vazio mas o vCenter mostra alarmes

A ferramenta get_alarms consulta alarmes disparados no nível da pasta raiz. Alguns alarmes são específicos de entidades — tente verificar eventos: get_events --hours 1 --severity info.

Erro "Connection refused"

  1. Execute vmware-monitor doctor para diagnosticar
  2. Verifique hostname/IP e porta (443) do alvo no config.yaml
  3. Para certificados autoassinados: defina disableSslCertValidation: true

Eventos retornam muitos resultados

Use o filtro de severidade: --severity warning (padrão) filtra eventos de nível informativo. Use --hours 4 para restringir o intervalo de tempo.

VM info mostra "guest_os: unknown"

VMware Tools não está instalado ou não está em execução no convidado. Instale/inicie o VMware Tools para detecção do SO convidado, endereço IP e informações da família convidada.

Doctor passa mas comandos falham com timeout

O vCenter pode estar sob carga pesada. Tente direcionar um host ESXi específico diretamente em vez do vCenter, ou aumente o timeout de conexão no config.yaml.

Configuração

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
# Edite ~/.vmware-monitor/config.yaml (alvos) e .env (senhas)

Todas as ferramentas são automaticamente auditadas via vmware-policy. Logs de auditoria: vmware-audit log --last 20

Guia de configuração completo, detalhes de segurança e compatibilidade com plataformas de IA: veja references/setup-guide.md

Auditoria e Segurança

Todas as operações são automaticamente auditadas via vmware-policy (decorador @vmware_tool):

  • Cada chamada de ferramenta registrada em ~/.vmware/audit.db (SQLite, independente de framework)
  • Regras de política aplicadas via ~/.vmware/rules.yaml (regras de negação, janelas de manutenção, níveis de risco)
  • Classificação de risco: cada ferramenta é marcada como baixo/médio/alto/crítico
  • Visualizar operações recentes: vmware-audit log --last 20
  • Visualizar operações negadas: vmware-audit log --status denied

O vmware-policy é instalado automaticamente como dependência — nenhuma configuração manual necessária.

Licença

MIT — github.com/zw008/VMware-Monitor

Habilidades Relacionadas