Créez une vraie alarme “disk latency” sur votre vCenter 4.x – MAJ
Posted by NiTRo | Filed under Tips & Tricks, VMware
MAJ 20/02/2011 : La version 4.1 U1 apporte un workaround, “The new trigger now available is VM Max Total Disk latency (ms)”
Pour une raison obscure mais bien réelle, l’alarme “Virtual machine total disk latency” n’est pas fonctionnelle :
The default Virtual Center Alarm for Virtual Machine Total Disk Latency is currently not functioning on VMware vCenter Server 4.0 and VMware vCenter Server 4.1.
There is no workaround at this time.
Grâce au PowerCLI (et aux nombreux posts de Luc), il existe une alternative : le compteur disk.maxTotalLatency.latest
Highest latency value across all disks used by the host. Latency measures the time taken to process a SCSI command issued by the guest OS to the virtual machine. The kernel latency is the time VMkernel takes to process an IO request. The device latency is the time it takes the hardware to handle the request.
Nous avons créé un petit script pour l’occasion qui créer une alarme “custom” afin de détecter une latence trop élevé sur l’un des datastore (en mode block uniquement, par pour le NFS donc) d’un ESX :
Ce script s’utilise comme suit :
.\Set-MaxTotalLatencyAlarm.ps1 -YellowTresh 20 -RedTresh 40
YellowTresh et RedTresh représentent les seuils Warning/Alert de l’alarme (30/50 par défaut si non renseignés à la création de l’alarme).
Il sera nécessaire de supprimer/recréer l’alarme pour changer ces valeurs
Après c’est à vous de jouer pour trouver le datastore qui pose problème…
Tags: alarm, esxtop, PowerCLI, powershell, scripting
November 29th, 2010 at 13:41
[...] Ce billet était mentionné sur Twitter par Gregg Robertson, Luc Dekens et Duncan Yellow Bricks, raphael schitz. raphael schitz a dit: Create a *REAL* disk latency alarm on vCenter 4.x http://www.hypervisor.fr/?p=2468 [...]
November 29th, 2010 at 19:33
Très bon ça !
Cette alerte est configurable pour les actions au niveau de vCenter ? (genre envoi mail, script,…) ou on doit le configurer directement dans le script, au même niveau que :
$trigger.action = New-Object VMware.Vim.SendSNMPAction
?
Well done en tout cas :p
November 29th, 2010 at 21:19
non ya que les seuils qui sont pas configurables, les actions sont accessibles en GUI
December 9th, 2010 at 10:52
Salut!!
Je débute en powershell / powercli donc ma question va paraître bête mais voici le résultat que j’obtiens quand j’utilise le script.
(Note, utilisé “Connect-VIServer monvcenter” avant)
—–
[vSphere PowerCLI] C:\Documents and Settings\xxx\Desktop> .\alarme_latency.ps1
The term ‘measure’ is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
At C:\Documents and Settings\xxx\Desktop\alarme_latency.ps1:12
char:104
+ if (($alarmMgr.GetAlarm($entity.moref)|?{(get-view $_).info.name -match “Host Max Lun Latency”}|measure) <<<< .count -eq 0){
—–
Sachant que je suis sous windows server 2003 r2 64bits english
December 9th, 2010 at 12:52
c’est un problème d’alias de la commande measure-object, j’ai mis à jour le script pour éviter cette erreur.
December 13th, 2010 at 13:01
Ok de toutes façons j’avais enlevé le test pour réussir à créer l’alarme.
Par contre chez moi le déclenchement du seuil d’alerte (rouge) ne marche pas. Ca navigue toujours entre le seuil vert et jaune.
December 13th, 2010 at 15:40
Vous pouvez essayer de recréer l’alarme avec des seuils plus bas pour tester le warning
April 4th, 2011 at 21:55
Salut Nitro,
Je veux juste être sûr ce qui mesure ce compteur.
C’est le “Latency” d’un i/o request du kernel + celui du HBA vers mon unité de SAN ?
ou
Juste le “Latency” du kernel ?
April 4th, 2011 at 22:46
Bonne question. Apparemment, ce serait la totale : http://www.vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/disk_counters.html (maxTotalLatency)
April 5th, 2011 at 21:15
Salut Nitro,
Super bonne script !!!
J’ai enlevé l’alerte et j’ai remis une nouvelle alerte avec des seuils plus haut (comme yellow à 80 et red à 100)
Le problème c’est que l’alerte déclenche toujours avec les anciennes seuils (yellow = 40; red= 50)
Est-ce que le fait d’enlever l’alerte au niveau de du Virtual Center est assez ou il fait faire d’autres manipulations ?
April 5th, 2011 at 22:09
Non ça suffit, les seuils sont dans l’alarme donc la supprimer suffit. Tu as taper quelle commande pour recréer l’alarme ?
April 5th, 2011 at 22:53
Salut Nitro,
J’ai juste recréer l’alarme avec la m^me commande comme ceci:
.\Set-MaxTotalLatencyAlarm -yellowTresh “80″ -redTresh “100″
mais je recois toujours des alertes de l’ancienne seuils comme ceci:
Target: xxxxxxxxxxx.com
Previous Status: Gray
New Status: Red
Alarm Definition:
([Yellow Metric Is above 80Millisecond; Red Metric Is above 100Millisecond])
Current values for metric/state:
Metric Highest latency = 59,994Millisecond
Description:
Alarm ‘Host Max Lun Latency’ on xxxxxxxxxxxxx.com changed from Gray to Red
April 6th, 2011 at 10:56
si au contraire tu baisse les seuils ça fait quoi ?
April 6th, 2011 at 18:30
Salut Nitro,
en réduisant les seuils cela marche- mais pas quand tu l’augmente.
voir résultats:
Target: xxxxxxx.videotron.com
Previous Status: Green
New Status: Red
Alarm Definition:
([Yellow Metric Is above 10Millisecond; Red Metric Is above 20Millisecond])
Current values for metric/state:
Metric Highest latency = 22Millisecond
Description:
Alarm ‘Host Max Lun Latency’ on xxxxx.int.videotron.com changed from Green to Red
Target: xxxxxxx.videotron.com
Previous Status: Green
New Status: Red
Alarm Definition:
([Yellow Metric Is above 80Millisecond; Red Metric Is above 100Millisecond])
Current values for metric/state:
Metric Highest latency = 59,993Millisecond
Description:
Alarm ‘Host Max Lun Latency’ on xxxxxxx.videotron.com changed from Green to Red
April 6th, 2011 at 18:34
c’est un peu extrême mais tu peux tester en restartant le service vpxd ?
March 5th, 2012 at 21:22
[...] ou HostSystem (et HostSystem uniquement pour les compteurs SIOC). Nous vous avions proposé une solution de contournement, en PowerCLI évidement, grâce au compteur maxTotalLatency mais il restait encore à trouver [...]