Comment rechercher dans les journaux d’un hôte ESXi en utilisant PowerCli

Comment rechercher dans les journaux d’un hôte ESXi en utilisant PowerCli

Nous avons eu ces derniers jours quelques soucis et nous avons parcouru les logs de nos ESXI. Mon premier réflexe a été de me connecter en ssh et de faire des grep.

Une fois l’incident « Résolu »,  nous avons voulu scruter de manière automatique les logs de nos Hyperviseurs et la j’ai commencé a parcourir les commandes PowerCli à la recherche d’une solution . Cette solution est la cmdlet  Get-log.

Pour connaitre les logs accessibles sur votre Vcenter ou sur un ESXI, il faut utiliser au préalable la commande Get-logtype

Utiliser sans paramètre, cette commande vous listera les journaux accessibles sur votre VCENTER.

Get-LogType

Pour  connaitre les logs (Keys) accessible sur un ESXI

Get-LogType -VMHost MonEsxi

Ou

Get-VMHost MonEsxi* | Get-LogType

Une fois que l’on connait la clef du log que l’on souhaites analyser , pour lister son contenu il vous suffit de taper la commande  :

(Get-Log -VMHost MonEsxi* -Key vmkernel).entries

 

Si comme dans mon cas vous souhaitez faire un filtre sur une erreur et la date du jour, il vous suffit simplement de lancer

(Get-Log -VMHOST MonEsxi* -key hostd).entries | where{$_ -match « Lost access » } | where{$_ -match [datetime]::Today.ToString(‘yyyy-MM-dd’)}

Pour sélectionner les lignes du fichier de log contenant une sous chaîne spécifique, on peut également utiliser la fonction Select-String .

(Get-Log -VMHOST MonEsxi* -key hostd).entries | Select-String « Lost access »

Si vous souhaitez juste récupérer le nombre d’erreurs, ajouter un count à la fin …

((Get-Log -VMHOST MonEsxi* -key hostd).entries | where{$_ -match « Lost access » } | where{$_ -match [datetime]::Today.ToString(‘yyyy-MM-dd’)}).count

Vous pouvez également ne récupérer que les n dernières ligne de votre fichier de log

(Get-Log -VMHOST MonEsxi* -key hostd).entries[-1..-10]

Avec cette syntaxe vous allez récupérer dans le log hostd, les 10 derniers enregistrements du plus récent au moins récent.

(Get-Log -VMHOST MonEsxi* -key hostd).entries | Select -last 5

ici, on affiche les 5 derniers enregistrements du log hostd, du moins récent au plus récent.

No Comments

Sorry, the comment form is closed at this time.