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
| Categoria | Capacidades |
|---|---|
| Inventário | Listar VMs, hosts ESXi, datastores, clusters, redes |
| Saúde | Alarmes ativos, eventos recentes (filtrados por severidade/tempo), sensores de hardware, serviços do host |
| Detalhes da VM | CPU, memória, discos, NICs, snapshots, SO convidado, IP |
| Varredura | Varredura 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ário | Skill Recomendada |
|---|---|
| Monitoramento vSphere somente leitura, risco zero | vmware-monitor ← esta skill |
| Armazenamento: iSCSI, vSAN, datastores | vmware-storage |
| Ciclo de vida de VMs, implantação, operações convidadas | vmware-aiops |
| Tanzu Kubernetes (vSphere 8.x+) | vmware-vks |
| Redes NSX: segmentos, gateways, NAT | vmware-nsx |
| Segurança NSX: regras DFW, grupos de segurança | vmware-nsx-security |
| Aria Ops: métricas, alarmes, planejamento de capacidade | vmware-aria |
| Fluxos de trabalho de múltiplas etapas com aprovação | vmware-pilot |
| Baselines de conformidade (CIS / 等保 / PCI-DSS), detecção de desvios, consultor de correção com LLM | vmware-harden (uv tool install vmware-harden) |
| Balanceador de carga, AVI, ALB, AKO, Ingress | vmware-avi (uv tool install vmware-avi) |
| Consulta de logs de auditoria | vmware-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.
- 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) - 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) - Listar hosts -->
vmware-monitor inventory hosts— sinalize hosts desconectados, em manutenção inesperadamente, ou memória > 90% - Se a conexão falhar --> execute
vmware-monitor doctorpara diagnosticar problemas de configuração/rede
Investigar uma VM Específica
- Encontrar a VM -->
vmware-monitor inventory vms --power-state poweredOff - Obter detalhes -->
vmware-monitor vm info problem-vm - Verificar eventos relacionados -->
vmware-monitor health events --hours 48 - Se a VM não for encontrada --> verifique o nome da VM com
vmware-monitor inventory vms --limit 100ou altere o alvo com--target <outro-vcenter>
Configurar Monitoramento Contínuo
- Configurar webhook em
~/.vmware-monitor/config.yaml - Iniciar daemon -->
vmware-monitor daemon start - O daemon varre a cada 15 min, envia alertas para Slack/Discord
Modo de Uso
| Cenário | Recomendado | Por quê? |
|---|---|---|
| Modelos locais/pequenos (Ollama, Qwen) | CLI | ~2K tokens vs ~8K para MCP |
| Modelos em nuvem (Claude, GPT-4o) | Qualquer um | MCP fornece E/S JSON estruturada |
| Pipelines automatizados | MCP | Parâmetros com tipo seguro, saída estruturada |
Ferramentas MCP (11 — todas somente leitura)
| Ferramenta | Descrição |
|---|---|
list_virtual_machines | Listar 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_hosts | Hosts ESXi com CPU, memória, versão, uptime |
list_all_datastores | Datastores com capacidade, espaço livre, tipo |
list_all_clusters | Clusters com contagem de hosts, status DRS/HA |
list_all_networks | Redes com contagem de VMs anexadas e acessibilidade |
get_alarms | Todos os alarmes ativos/disparados — inclui dicas de correção suggested_actions |
get_events | Eventos recentes filtrados por severidade e tempo — inclui dicas suggested_actions |
get_host_sensors | Status dos sensores de hardware (temperatura/tensão/ventoinha) por host com saúde verde/amarelo/vermelho |
get_host_services | Status dos serviços do host (estado de execução e política de inicialização), opcionalmente filtrado por host |
vm_info | Informações detalhadas da VM (CPU, memória, discos, NICs, snapshots) |
vm_list_snapshots | Lista 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"
- Execute
vmware-monitor doctorpara diagnosticar - Verifique hostname/IP e porta (443) do alvo no config.yaml
- 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.