Get-VMlog : suivre vmware.log en powershell

Malgré tout le travail des développeurs, la version 4.1 du PowerCLI ne permet toujours pas d’utiliser la cmdlet “get-content -wait” sur un fichier situé dans un datastore vmware. Impossible donc de suivre le fichier vmware.log d’une VM pour une séance de troubleshooting. Impossible ? Non ! Rien n’est impossible en powershell :


Nous avons concocté un script qui va, via la cmdlet Copy-DatastoreItem, copier le fichier vmware.log de la VM dans le répertoire temporaire de l’utilisateur, en afficher le contenu avec un code couleur en fonction de la source (vmx, vcpu, mks, etc…), recopier le fichier toutes les 5 secondes (paramétrable avec -delay=”x”) et en extraire à chaque fois le différentiel pour l’afficher à la façon de “tail -f“. Si le fichier vmware.log est locké ou déplacé pendant l’exécution du script (vmotion/svmotion par exemple), le script va bouclé jusqu’à ce qu’il soit de nouveau disponible et chercher le nouvel emplacement du fichier si besoin.

Dans la vidéo si dessus, les éléments successifs correspondent à des opérations (vmotion, snapshot, etc…)

L’intégralité de ce qui a été affiché dans la console est également redirigé vers un fichier log consolidé $env:temp\”nom-de-la-vm”-full.log (par ex : C:\DOCUME~1\admin\LOCALS~1\Temp\1\vm-full.log)

download

Tags: , , ,

One Response to “Get-VMlog : suivre vmware.log en powershell”

  1. [...] Ce billet était mentionné sur Twitter par VirtualTweet, raphael schitz. raphael schitz a dit: What tail -f vmware.log with #PowerCLI ? Use Get-VMlog #Powershel script available at http://www.hypervisor.fr/?p=2316 [...]

Leave a Reply