Zum Inhalt springen

Hyper-V: VM-Performance-Monitoring mit PowerShell

Website

Hyper-V hat ab Werk alles Notwendige für ein regelmäßiges, grundlegendes VM-Performance-Monitoring der virtuellen Computer an Board.

Hyper-V: VM-Performance-Monitoring aktivieren

Die folgenden Befehle setzen das Aufzeichnungsintervall und aktivieren die Aufzeichnung.

# MeteringSaveInterval
Set-VMHost -ResourceMeteringSaveInterval "00:10:00" # (hh:mm:ss)

# Enable-VMResourceMetering for all VMs
Get-VM | Enable-VMResourceMeteringCode-Sprache: PowerShell (powershell)

Hyper-V: VM-Performance-Monitoring-Bericht per Mail senden

Mit dem folgenden Script werden die VM-Performancewerte erhoben, zurückgesetzt (= neuer Monitoringzeitraum gestartet) und per Mail gesendet. Für ein regelmäßiges Monitoring sollte das Script als geplante Aufgabe über die Windows Aufgabenplanung ausgeführt werden.

# Mail settings
$mailTo = "mail@domain.at"
$mailFrom = "mail@domain.at"
$mailSubject = "VM-Performance"
$mailSMTP = "smtp.domain.at"
$mailBody = ""

#########################################

# Get all VMs
$vms = Get-VM

# Get VMResourceMetering data
$measures = $vms | Measure-VM | Sort-Object VMName

# Reset VMResourceMetering data
$vms | Reset-VMResourceMetering

# Create Table
$table = $measures | Select-Object VMName,AvgCPU,AvgRAM,TotalDisk,AggregatedAverageNormalizedIOPS,AggregatedNormalizedIOCount,AggregatedDiskDataRead,AggregatedDiskDataWritten,AggregatedAverageLatency | ConvertTo-Html

# Report
$mailbody += $table
Send-MailMessage -To $mailTo -From $mailFrom -Subject $mailSubject -SmtpServer $mailSMTP -Body $mailbody -BodyAsHtml -encoding ([System.Text.Encoding]::UTF8)Code-Sprache: PowerShell (powershell)

Hyper-V: VM-Performance-Monitoring deaktivieren

Das Monitoring lässt sich mit Disable-VMResourceMetering deaktivieren.

Get-VM | Disable-VMResourceMeteringCode-Sprache: PowerShell (powershell)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

13 + vier =