vCheck v5+ … MAJ

MAJ 06/03/2012 : Alan vient de sortir la v6, complètement ré-architecturée et blindée de nouvelles features qui tuent. une seule url : http://vcheck.vmwa.re :)

MAJ 27/08/2011 : C’est maintenant vmDude.fr qui reprend le flambeau de vCheck avec sa version v5++ !

MAJ 07/07/2010 : Version 5.0.5+ annule et remplace la précédente. Ajout de CPU ratio et VM ratio sur le Capacity Planner.

MAJ 28/06/2010 : Version 5.0.4+ annule et remplace la précédente. Ajout de 3 nouveaux checks.

MAJ 18/04/2010 : Version 5.0.3+ annule et remplace la précédente. Optimisation des sections faisant appel à get-stat (grâce à get-stat2), modifications du code html (Outlook 2K7+ & smartphones) et réorganisation du rapport.

MAJ 29/03/2010 : Version 5.0.1+ annule et remplace la précédente, la faute à une erreur de codage prolongeant la durée d’exécution de beaucoup… Merci Timo :D

Ça y est. La v5 du célèbre vCheck est . Nous avons travaillé dur, Alan évidement bien plus que moi mais l’important c’est que cette version offre encore plus de contrôles et une vision encore plus préventive de vos infra VMware. Voici un extrait du changelog :

  • Host Overcommit check
  • VM Memory Swap & Ballooning
  • VM Tools Issues
  • HA VM reset/restart
  • Host ConfigIssue
  • Map Disk Region Events
  • Capacity Info
  • vSwitch ports left
  • VM Per Datastore

Comme pour la v3 (ne cherchez pas la v4, y’en a pas…), nous voulions vous faire partager notre version custom dans laquelle nous avons, entre autres, re-coder les zones faisant appel à la cmdlet get-snapshot (extrêmement lente comme nous l’avions évoqué), ajouté quelques check (VMHost/VMFS, CPU Wait, VM disks space left, DRS per cluster summary, VC warnings) et ajustés quelques paramètres afin de réduire le temps d’exécution sur les grosses infra.

Voici un extrait du résultat aux couleurs de notre hyperviseur favori :

vCheckv5+

vCheck v5+

Tags: , , ,

32 Responses to “vCheck v5+ … MAJ”

  1. Ne pas oublier la commande “Set-ExecutionPolicy -ExecutionPolicy Bypass” pour autoriser l’exécution du script de LucD

  2. Tien Lam Nguyen Says:
    July 7th, 2010 at 16:06

    Bonjour,
    Excellent scipt bravo!!!!
    J’ai une question à propos de la section des snapshots.

    La valeur de “sizeMB” c’est la valeur du snapshot lui même ou c’est la valeur des disques de la VM ?

  3. Bonjour, merci pour votre soutien.
    A quel “check” faites vous allusion ?

  4. Tien Lam Nguyen Says:
    July 8th, 2010 at 14:03

    Dans la section des snapshots. Sous la rubrique “SizeMB”. La valeur est la valeur totale des disques VMDK et leur snapshots.

    Ce qui est bon d’avoir c’est seulement la valeur en MB des snapshots seulement.

  5. C’est bien la taille du snapshot. Je n’utilises pas ce check mais plutôt le “snapshot oversize” qui permet de savoir combien la VM aucune au total (avec tous les snapshots) par rapport à sa taille originale.

  6. Tien Lam Nguyen Says:
    July 8th, 2010 at 15:06

    Ok, désolé j’ai roulé le mauvais scripts.

    Dans la section oversize. j’obtiens:

    vmdksize:25Gb
    realsize:30GB
    snapshotcount:1
    oversize:120%

    Si je comprend bien, je fais la différence des deux valeurs et j’obtiens la valeur en GB que prend mes snapshots ?

  7. Exact, dans votre cas votre snapshot occupe 5Go

  8. Tien Lam Nguyen Says:
    July 8th, 2010 at 18:51

    Merci pour l’info,

    C’est la valeur que j’ai besoin dans mon rapport.

    Question: Dans la section VM swapping and ballooning, Est-ce qu’il y a un moyen simple de juste faire afficher les VM qui swap au delà de 200 MEG ? les autres je les ignore dans l’affichage.

    Raison: Pour moi c’est inutile de savoir qu’un VM swap à 4K ou à 100 MB

    Merci

  9. Oui, à la fin des 2 lignes débutant par $BALSWAP vous rajoutez ?{$_.SwapKB -gt “2100000″}

  10. Tien Lam Nguyen Says:
    July 9th, 2010 at 20:35

    Salu nitro.

    J’ai mis la commande comme ceci (entre ces deux lignes de code):

    $bs = @($BALSWAP | Where { $_.SwapKB -gt 0 -or $_.MemBalloonKB -gt 0})

    ?{$_.SwapKB -gt “2100000″}

    If (($bs | Measure-Object).count -gt 0) {

    cela ne semble pas marcher. il continue à me donner les valeurs que je ne veux pas voir

  11. C’est pas le bon endroit mais oublie ca et remplaces dans la ligne que tu cites _.SwapKB -gt 0 par _.SwapKB -gt 2100000

  12. Bonjour à tous !
    J’essaie de faire tourner ce script qui a l’air ma foi fabuleux , cependant cela fait 40 min qu’il mouline sur “checking capacity info”… Est-ce “normal” pour un environnement contenant 220 Vm réparties sur 16 esx ?

    J’ai également un pb quand je lance powercli , celui-ci met plus de 5 min à s’initialiser … j’ai bien essayé la MAJ .net et cette manip préco par vmware ( http://blogs.vmware.com/vipowershell/2010/01/troubleshooting-slow-startup-with-powercli-40-u1.html) mais rien n’y fait …
    Si quelqu’un a eu le même souci …

    Merci d’avance !

    Willem

  13. Bonjour,

    Pour le problème de lenteur du capacity planner, téléchargez le script Get-Stat2 de LuCD (http://communities.vmware.com/docs/DOC-10384) et renseignez le chemin d’accès dans la variable $GetStat2Path

    Pour le problème de lenteur d’initialisation, essayez le trick d’Alan http://www.virtu-al.net/2010/07/05/speed-up-powercli/

    Merci pour votre retour et n’hésitez pas à nous donnez vos impressions/suggestions

  14. Tien Lam Nguyen Says:
    July 30th, 2010 at 23:32

    Salut Nitro et à tous,

    Super script encore une fois.

    Question: Comment modifier dans l’envoie du rapport par courriel pour qu’il l’envoie en “attachement” ?

    Je suis entrain d’apprivoiser le script. Peut-être un jour je serais assez connaissant pour le modifier moi-même sans aides :)

  15. Salut Tien,
    Pour avoir le rapport en attachement tu remplaces la fonction Send-SMTPmail par celle ci :

    function Send-SMTPmail($to, $from, $subject, $smtpserver, $Filename) {
    [System.Reflection.Assembly]::LoadWithPartialName(“System.Web”)
    $WebMailMessage = New-Object System.Web.Mail.MailMessage
    $WebMailMessage.From = $from
    $WebMailMessage.Subject = $subject
    $WebMailMessage.To = $to
    $attach=new-object system.web.mail.mailattachment($Filename)
    $webmailmessage.attachments.add($attach)
    [System.Web.Mail.SmtpMail]::SmtpServer = $smtpserver
    [System.Web.Mail.SmtpMail]::Send($WebMailMessage)
    }

    Et dans cette ligne tu remplace $body par $Filename :

    “send-SMTPmail $EmailTo $EmailFrom “$VISRV vCheck Report” $SMTPSRV $body”

    Il faut aussi que tu “actives” $DisplayToScreen ($false > $true) donc pour éviter que ca ne lance ton navigateur, si tu as mis le script en tache planifié par exemple, tu commentes la ligne “Invoke-Item $Filename” et ca ne fera qu’écrire le fichier dans c:\tmp

  16. Bonjour ,

    il pourrait être intéressant de proposer une variable pour localiser le chemin du fichier d’audit généré

    ligne 2082
    remplacer $Filename = “C:\tmp\” + ……. par $Filename = $FilePath + …… avec un paramétrage en début de fichier.

  17. Tu as raison mais c’est assez propre à chacun ce type de parametrage donc cela fait plus office d’exemple d’utilisation. Merci pour ton commentaire néanmoins ;)

  18. Le CPU ratio et VM ratio sur le Capacity Planner ne s’affiche pas quand je met le script Get-Stat2(v1.3) par contre ça marche très bien si je ne le met pas(mais du coup c’est très lent)

  19. Salut drakith, je n’arrive pas à reproduire le problème, tu peux m’envoyer un screenshot par mail ?

  20. Hello,

    a really great script !

    Is it possible to enhance the script like that:

    Definition of Promiscous Mode; MAC Adress Change, Forged Transmits and then compare if this exists for each virtual switch and give a list for mismatches.

    Many thanks in advance.

    Best regards

  21. @Methone : i’ll work on that !

  22. Tien Lam Nguyen Says:
    November 8th, 2010 at 22:13

    Je n’arrive pas à fire rouler ce script en schedule task sous windows 2008. La tâche part mais ne termine jamais. son “statut” est toujours en mode “running” même après 24 heures.

    voici ce que j’ai changé:
    $VIServer = Connect-VIServer $VISRV
    à
    $VIServer = Connect-VIServer $VISRV -cred $creds

    ajouter Add-PSSnapin VMware.Vimautomation.Core au début du script.

    et voici les settings pour mon scheduled task.
    Sous: program/scripts: powershell.exe
    Sous: Add arguments (optional) -noninteractive -noprofile -command “”
    Sous Start in (optional): C:\Scripts\vCheck

    Ce qui est intéressant c’est que si je roule à partir du prompt comme ceci:
    J:\>powershell.exe -noninteractive -noprofile -command “”
    le script termine nornalement.

    Ce qui me fait sire qu’il y a de quoi que je n’ai pas fais dans la configuration du schedule task.
    Si quelqu’un a réussie à faire fonctioner le script en mode scehduled task. SVP le partager

  23. Tien Lam Nguyen Says:
    November 8th, 2010 at 22:15

    Sous: Add arguments (optional) -noninteractive -noprofile -command “”

  24. Tien Lam Nguyen Says:
    November 8th, 2010 at 22:19

    désolé si je fais du spam. je n’arrive pas à faire afficher les caractères crochets et ampersand.

    donc voici ce que j’ai mis Sous: Add arguments (optional) -noninteractive -noprofile -command “(ampersand) ( ouverture de crochets)C:\Scripts\vCheck.ps1 vcenter1(germeture de crochets)”

    Sous Start in (optional): C:\Scripts\vCheck

  25. Tu peux remplacer le -noninteractive par -noexit et lancer la tache planifiée dans la session du user pour voir la fenêtre powershell et avoir l’erreur.

  26. Tien Lam Nguyen Says:
    November 15th, 2010 at 21:43

    Salut Nitro,

    À la ligne de $setusername

    je sois la laisser sans username c-à-d : $setusername= “”

    ou je devrai mettre un nom du domaine comme ceci:
    $setusername = “DOMAIN\user”

  27. Soit tu lances la tache planifiée avec le bon compte, soit tu utilises la variable $setusername et le fichier $CredFile qui contient le password crypté (inspires toi de la function Set-Cred pour voir comment générer le fichier) ou tu lances une premiere fois en interactif et ca va générer le fichier pour toi

  28. [...] path” sur un ou une liste d’ESX et c’est d’ailleurs de cette façon que vCheck v5+ les obtient. Le problème est qu’il n’est pas facile ensuite de faire le rapport avec [...]

  29. [...] (tout comme XenApp_InfoFarm) est très fortement inspiré pour la partie graphique du script vcheck de [...]

  30. [...] (same as XenApp_InfoFarm) is inspired from the graph part of vcheck from the Vmware [...]

  31. [...] vCheck est un script réalisé par Alan Renouf (disponible ici) et modifié par notre confrère hypervisor.fr. Cela permet d’établir rapidement un rapport d’un peu tout ce qui se passe sur votre [...]

  32. [...] know, vCheck is a script made by Alan Renouf (available here) and modified by our coworker hypervisor.fr. This helps to quickly make a report of what happened to your VMware platform and [...]

Leave a Reply