Seite 1 von 1

Tool für VM Performance Messung?

Verfasst: 19.01.2017, 11:57
von ReedyTT
Hi,

ich bin auf der Suche nach einer Methode, 10 VMs (Jenkins Build Slaves) nebeneinander zu legen und über einen ZeitraumX lang zu beobachte wann wieviel CPU Zeit gefordert wurde wurde.
vBench kann es leider nicht, und für Horizon hab ich keine Lizenzen.
Man könnte natürlich natürlich auf Gast-Ebene ein Monitoring einbauen aber ich habe die Hoffnung das auch auf vSphere Ebene etwas gibt.
Und wenn ich mir nur eine CSV exportiere und hinterher bearbeite wäre kein Problem.

Was benutzt ihr?

Re: Tool für VM Performance Messung?

Verfasst: 19.01.2017, 16:14
von mbreidenbach
Wenn man Veeam One oder vRops hat kann man das natürlich nehmen.

Man kann mit PowerCLI vCenter Performancedaten auslesen und als CSV abspeichern. Danach sind dann z.B. lustige Spiele mit Excel Pivottabellen möglich.

Dazu müssen die Werte in der Datenbank stehen. Das kann bedeuten daß man im Meßzeitraum das entsprechende Loglevel anpassen muß. Und dann entsprechend mit der DB Größe aufpassen - die wächst dann entsprechend.

Ich habe damit mal für ein Projekt die Lese- und Schreibrate von VMs ausgewertet um Durchsatz einer WAN Strecke für einen Synchronspiegel abschätzen zu können.

Code: Alles auswählen

#$todayMidnight = (Get-Date -Hour 0 -Minute 0 -Second 0)
#$Start = $todayMidnight.AddDays(-1).AddSeconds(1)
#$Finish = $todayMidnight

$Finish = Get-Date
$Start = $Finish.AddHours(-3)

$IntervalMins = 5

$metrics = "disk.usage.minimum","disk.usage.maximum","disk.usage.average"

$entities = Get-VM | where {$_.PowerState -eq "PoweredOn" }

$Filename = 'diskstats.csv'

$report = Get-Stat -Entity $entities -Stat $metrics -IntervalMins $IntervalMins -Start $start -Finish $Finish -Instance "" | `
Group-Object -Property EntityId,Timestamp | %{
   New-Object PSObject -Property @{
      Name = $_.Group[0].Entity.Name
      Time = $_.Group[0].Timestamp
      DiskMin = ($_.Group | where {$_.MetricId -eq "disk.usage.minimum"}).Value
      DiskMax = ($_.Group | where {$_.MetricId -eq "disk.usage.maximum"}).Value
      DiskAvg = ($_.Group | where {$_.MetricId -eq "disk.usage.average"}).Value
    }
}
$report | Sort-Object Name,Time | `
Export-Csv -path $FileName -NoTypeInformation -UseCulture


Bei größerem Intervall dauert das 'etwas'.

Wo der Codeschnipsel ursprünglich herkam weiß ich nicht mehr. Aber mit 97% Wahrscheinlichkeit vermutlich Luc Dekens :D

EDIT: Das Buch 'VMware vSphere PowerCLI Reference: Automating vSphere Administration' enthält da ein ganzes Kapitel zu dem Thema. Wenn man sich mit PowerCLI beschäftigen will (oder muß) ist das Pflichtlektüre.

Re: Tool für VM Performance Messung?

Verfasst: 20.01.2017, 07:50
von ReedyTT
genau mein Ding, danke :)

edit: ich schau mir mal die kostenloste Variante von Veem an, mal sehen ob es da auch etwas gibt.

Re: Tool für VM Performance Messung?

Verfasst: 20.01.2017, 11:27
von mbreidenbach
Das kostenlose Veeam One ist zwar eine wirklich tolle Sache zum Betrachten des Ist-Zustands der Umgebung aber die Reportfunktion ist limitiert (gegenüber der kostenpflichtigen Lizenz).