CommunityRédaction et éditiongithub.com

zw008/VMware-Monitor

Surveillance VMware vCenter/ESXi en lecture seule — sécurité imposée au niveau du code, zéro opération destructive.

Qu'est-ce que VMware-Monitor ?

Cette compétence fournit un ensemble de 11 outils MCP en lecture seule pour interroger VMware vCenter et les hôtes ESXi. Elle est conçue pour les agents IA qui ont besoin d'informations d'inventaire, de santé et de détails sur les VMs sans aucun risque de modification. La sécurité est imposée au niveau du code : il n'existe aucune fonctionnalité de création, modification, suppression ou snapshots dans la base de code. Les résultats des alarmes et des événements incluent un champ `suggested_actions` qui oriente les agents vers les compétences compagnons appropriées (par exemple, vmware-aiops pour les actions, vmware-storage pour le stockage). Compatible avec CLI (pour les modèles locaux) et MCP (pour les modèles cloud), la compétence s'intègre également à vmware-policy pour l'audit automatique de toutes les opérations. Idéal pour les diagnostics quotidiens de santé, l'investigation de VMs spécifiques et la mise en place d'une surveillance continue avec alertes Slack/Discord.

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

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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égorieCapacités
InventaireLister 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 VMCPU, mémoire, disques, NICs, snapshots, OS invité, IP
AnalyseAnalyse 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 utilisateurCompétence recommandée
Surveillance vSphere en lecture seule, risque zérovmware-monitor ← cette compétence
Stockage : iSCSI, vSAN, datastoresvmware-storage
Cycle de vie des VMs, déploiement, opérations invitéesvmware-aiops
Tanzu Kubernetes (vSphere 8.x+)vmware-vks
Réseau NSX : segments, passerelles, NATvmware-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 approbationvmware-pilot
Bases de conformité (CIS / 等保 / PCI-DSS), détection de dérive, conseiller de correction LLMvmware-harden (uv tool install vmware-harden)
Équilibreur de charge, AVI, ALB, AKO, Ingressvmware-avi (uv tool install vmware-avi)
Requête de journal d'auditvmware-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.

  1. 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)
  2. 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)
  3. 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%
  4. Si la connexion échoue --> exécutez vmware-monitor doctor pour diagnostiquer les problèmes de configuration/réseau

Enquêter sur une VM spécifique

  1. Trouver la VM --> vmware-monitor inventory vms --power-state poweredOff
  2. Obtenir les détails --> vmware-monitor vm info problem-vm
  3. Vérifier les événements associés --> vmware-monitor health events --hours 48
  4. Si la VM n'est pas trouvée --> vérifiez le nom de la VM avec vmware-monitor inventory vms --limit 100 ou vérifiez la cible avec --target <other-vcenter>

Configurer une surveillance continue

  1. Configurer le webhook dans ~/.vmware-monitor/config.yaml
  2. Démarrer le démon --> vmware-monitor daemon start
  3. Le démon analyse toutes les 15 minutes et envoie des alertes à Slack/Discord

Mode d'utilisation

ScénarioRecommandéPourquoi
Modèles locaux/petits (Ollama, Qwen)CLI~2K tokens vs ~8K pour MCP
Modèles cloud (Claude, GPT-4o)L'un ou l'autreMCP fournit une entrée/sortie JSON structurée
Pipelines automatisésMCPParamètres typés, sortie structurée

Outils MCP (11 — tous en lecture seule)

OutilDescription
list_virtual_machinesLister 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_hostsHôtes ESXi avec CPU, mémoire, version, uptime
list_all_datastoresDatastores avec capacité, espace libre, type
list_all_clustersClusters avec nombre d'hôtes, état DRS/HA
list_all_networksRéseaux avec nombre de VMs attachées et accessibilité
get_alarmsToutes 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_infoInformations détaillées sur la VM (CPU, mémoire, disques, NICs, snapshots)
vm_list_snapshotsListe 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 »

  1. Exécutez vmware-monitor doctor pour diagnostiquer
  2. Vérifiez le nom d'hôte/IP cible et le port (443) dans config.yaml
  3. 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.

Licence

MIT — github.com/zw008/VMware-Monitor

Skills associés