VMware Monitor (Lecture Seule)
Avertissement : Ceci est un projet open-source maintenu par la communauté et n'est pas affilié, approuvé ou sponsorisé par VMware, Inc. ou Broadcom Inc. « VMware » et « vSphere » sont des marques déposées de Broadcom. Le code source est publiquement vérifiable sur github.com/zw008/VMware-Monitor sous licence MIT.
Surveillance VMware vCenter/ESXi en lecture seule — 11 outils MCP, zéro code destructif.
Sécurité au niveau du code : Cette compétence ne contient AUCUNE opération de mise sous tension, création, suppression, snapshot ou modification. Non pas désactivées — elles n'existent tout simplement pas dans la base de code. Compétences compagnons : vmware-aiops (cycle de vie des VMs), vmware-storage (iSCSI/vSAN), vmware-vks (Tanzu Kubernetes), vmware-nsx (réseau NSX), vmware-nsx-security (DFW/pare-feu), vmware-aria (métriques/alertes/capacité), vmware-avi (AVI/ALB/AKO), vmware-harden (bases de conformité). | vmware-pilot (orchestration de flux de travail) | vmware-policy (audit/politique)
Ce que fait cette compétence
| Catégorie | Capacités |
|---|---|
| Inventaire | Lister les VMs, hôtes ESXi, datastores, clusters, réseaux |
| Santé | Alertes actives, événements récents (filtrés par sévérité/temps), capteurs matériels, services hôtes |
| Détails VM | CPU, mémoire, disques, NICs, snapshots, OS invité, IP |
| Analyse | Analyse programmée des alarmes/logs avec webhooks Slack/Discord |
Installation rapide
uv tool install vmware-monitor
vmware-monitor doctor
Quand utiliser cette compétence
- Lister ou rechercher des VMs, hôtes, datastores, clusters
- Vérifier les alarmes actives ou les événements récents
- Obtenir des informations détaillées sur une VM spécifique
- Configurer une surveillance programmée avec alertes webhook
- Toute requête VMware en lecture seule où la sécurité est primordiale
Sortie Alarmes/Événements : Champ suggested_actions
Les résultats de get_alarms et get_events incluent une liste suggested_actions.
Chaque élément est un indice prêt à l'emploi pointant vers la bonne compétence compagnon et le bon outil :
{
"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')"
]
}
Les agents IA (en particulier les petits modèles locaux) peuvent lire ces indices directement pour déterminer quelle compétence et quel outil appeler ensuite, sans avoir à raisonner eux-mêmes sur le routage des compétences.
Utilisez les compétences compagnons pour :
- Mise sous/hors tension, déploiement, clonage, migration -->
vmware-aiops - iSCSI, vSAN, gestion des datastores -->
vmware-storage - Clusters Kubernetes Tanzu -->
vmware-vks - Équilibrage de charge, AVI/ALB, AKO, Ingress -->
vmware-avi
Compétences associées — Routage des compétences
| Intention utilisateur | Compétence recommandée |
|---|---|
| Surveillance vSphere en lecture seule, risque zéro | vmware-monitor ← cette compétence |
| Stockage : iSCSI, vSAN, datastores | vmware-storage |
| Cycle de vie des VMs, déploiement, opérations invitées | vmware-aiops |
| Tanzu Kubernetes (vSphere 8.x+) | vmware-vks |
| Réseau NSX : segments, passerelles, NAT | vmware-nsx |
| Sécurité NSX : règles DFW, groupes de sécurité | vmware-nsx-security |
| Aria Ops : métriques, alertes, planification de capacité | vmware-aria |
| Flux de travail multi-étapes avec approbation | vmware-pilot |
| Bases de conformité (CIS / 等保 / PCI-DSS), détection de dérive, conseiller de correction LLM | vmware-harden (uv tool install vmware-harden) |
| Équilibreur de charge, AVI, ALB, AKO, Ingress | vmware-avi (uv tool install vmware-avi) |
| Requête de journal d'audit | vmware-policy (vmware-audit CLI) |
Flux de travail courants
Enquêtes de diagnostic : Avant d'exécuter un flux de travail du type « pourquoi X échoue / est en panne / anormal », suivez
references/investigation-protocol.md. Il impose les quatre critères d'exhaustivité des causes racines (réfutabilité / suffisance / nécessité / mécanisme) et la boucle d'approfondissement jusqu'à trois tours. Comme vmware-monitor est en lecture seule, il sert de source de données — l'exécution appartient aux compétences compagnons comme vmware-aiops.
Vérification quotidienne de la santé
Jugement : les alarmes vous disent ce que vCenter a décidé comme étant anormal, les événements vous disent ce qui s'est passé. Ils divergent — une rafale d'événements sans alarmes signale souvent un mauvais calibrage des seuils de métriques, pas un « tout va bien ». Lisez les deux.
- Vérifier les alarmes -->
vmware-monitor health alarms --target prod-vcenter— concentrez-vous sur la sévérité Rouge ET les alarmes vieilles de plus d'1 heure (les alarmes transitoires s'effacent automatiquement) - Examiner les événements récents -->
vmware-monitor health events --hours 24 --severity warning— recherchez les événements répétés provenant de la même entité (un seul événement est du bruit ; 50 événements en une heure est un motif) - Lister les hôtes -->
vmware-monitor inventory hosts— signalez les hôtes déconnectés, en mode maintenance de manière inattendue, ou avec une mémoire > 90% - Si la connexion échoue --> exécutez
vmware-monitor doctorpour diagnostiquer les problèmes de configuration/réseau
Enquêter sur une VM spécifique
- Trouver la VM -->
vmware-monitor inventory vms --power-state poweredOff - Obtenir les détails -->
vmware-monitor vm info problem-vm - Vérifier les événements associés -->
vmware-monitor health events --hours 48 - Si la VM n'est pas trouvée --> vérifiez le nom de la VM avec
vmware-monitor inventory vms --limit 100ou vérifiez la cible avec--target <other-vcenter>
Configurer une surveillance continue
- Configurer le webhook dans
~/.vmware-monitor/config.yaml - Démarrer le démon -->
vmware-monitor daemon start - Le démon analyse toutes les 15 minutes et envoie des alertes à Slack/Discord
Mode d'utilisation
| Scénario | Recommandé | Pourquoi |
|---|---|---|
| Modèles locaux/petits (Ollama, Qwen) | CLI | ~2K tokens vs ~8K pour MCP |
| Modèles cloud (Claude, GPT-4o) | L'un ou l'autre | MCP fournit une entrée/sortie JSON structurée |
| Pipelines automatisés | MCP | Paramètres typés, sortie structurée |
Outils MCP (11 — tous en lecture seule)
| Outil | Description |
|---|---|
list_virtual_machines | Lister les VMs avec filtrage (état d'alimentation, tri, limite, folder_filter pour recherche insensible à la casse dans l'arborescence des dossiers) ; chaque VM inclut folder_path |
list_esxi_hosts | Hôtes ESXi avec CPU, mémoire, version, uptime |
list_all_datastores | Datastores avec capacité, espace libre, type |
list_all_clusters | Clusters avec nombre d'hôtes, état DRS/HA |
list_all_networks | Réseaux avec nombre de VMs attachées et accessibilité |
get_alarms | Toutes les alarmes actives/déclenchées — inclut des indices de correction suggested_actions |
get_events | Événements récents filtrés par sévérité et heure — inclut des indices suggested_actions |
get_host_sensors | État des capteurs matériels (température/tension/ventilateur) par hôte avec santé verte/jaune/rouge |
get_host_services | État des services hôtes (état d'exécution et politique de démarrage), éventuellement filtré par hôte |
vm_info | Informations détaillées sur la VM (CPU, mémoire, disques, NICs, snapshots) |
vm_list_snapshots | Liste des snapshots pour une VM avec hiérarchie d'imbrication (lecture seule) |
Tous les outils sont en lecture seule. Aucun outil ne peut modifier, créer ou supprimer de ressource.
Référence rapide 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]
Référence CLI complète : voir
references/cli-reference.md
Dépannage
Les alarmes retournent vide mais vCenter en affiche
L'outil get_alarms interroge les alarmes déclenchées au niveau du dossier racine. Certaines alarmes sont spécifiques à une entité — essayez de vérifier les événements à la place : get_events --hours 1 --severity info.
Erreur « Connexion refusée »
- Exécutez
vmware-monitor doctorpour diagnostiquer - Vérifiez le nom d'hôte/IP cible et le port (443) dans config.yaml
- Pour les certificats auto-signés : définissez
disableSslCertValidation: true
Les événements retournent trop de résultats
Utilisez le filtre de sévérité : --severity warning (par défaut) filtre les événements de niveau info. Utilisez --hours 4 pour réduire la plage horaire.
Les infos VM affichent « guest_os: unknown »
Les VMware Tools ne sont pas installés ou ne s'exécutent pas dans l'invité. Installez/démarrez VMware Tools pour la détection de l'OS invité, l'adresse IP et les informations sur la famille d'invité.
Doctor passe mais les commandes échouent avec un délai d'attente
vCenter peut être sous forte charge. Essayez de cibler un hôte ESXi spécifique directement au lieu de vCenter, ou augmentez le délai d'attente de connexion dans config.yaml.
Configuration
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
# Modifier ~/.vmware-monitor/config.yaml (cibles) et .env (mots de passe)
Tous les outils sont automatiquement audités via vmware-policy. Journaux d'audit :
vmware-audit log --last 20
Guide de configuration complet, détails de sécurité et compatibilité avec les plateformes IA : voir
references/setup-guide.md
Audit et sécurité
Toutes les opérations sont automatiquement auditées via vmware-policy (décorateur @vmware_tool) :
- Chaque appel d'outil est enregistré dans
~/.vmware/audit.db(SQLite, indépendant du framework) - Les règles de politique sont appliquées via
~/.vmware/rules.yaml(règles de refus, fenêtres de maintenance, niveaux de risque) - Classification des risques : chaque outil est étiqueté comme faible/moyen/élevé/critique
- Voir les opérations récentes :
vmware-audit log --last 20 - Voir les opérations refusées :
vmware-audit log --status denied
vmware-policy est automatiquement installé comme dépendance — aucune configuration manuelle nécessaire.