Wie kann ich die Festplatte der einzelnen VM der vCenter in Checkmk aufnehmen und überwachen?

Hallo ihr Lieben,

Ich habe unseren vCenter “Esxi Hosts” auf denen zahlreiche VMs laufen zu Überwachung aufgenommen.
Meine Frage ist, wie kann ich die Festplatten der einzelnen VMs zur Überwachung aufnehmen, damit ich bei einer 90 % vollgelaufenen Festplatten benachrichtigt werde?

Ich freue mich über jede Tipps von euch!
Vielen Dank im Voraus.
NDanishyar

Den Füllstand der einzelnen Dateisysteme kennt nur das Betriebssystem des Gastes in der VM.
Also muss dort der CheckMK-Agent installiert und die VM als Host im Monitoring angelegt werden.

Ja würde ich auch nicht anders machen. Die sauberste Lösung im Normalfall.

Den Füllstand der einzelnen Dateisysteme kennt nur das Betriebssystem des Gastes in der VM.

Naja, so ganz wahr ist das auch nicht dadurch das man ja eigtl. überall die “open-vm-tools” (linux) oder die “vmware-tools” (windows) installiert hat und somit *theoretisch* da schon rein schauen darf sofern es nicht explizit verboten wurde im Gast.

Beispiel am Powershell-Schnipsel für die PowerCli von vmware

Connect-VIServer -Server vcenter.domain.tld -Protocol https -Username Administrator@vsphere.local -Password $mypw
function gen_vmware_report {
  $report = @()
    foreach($vm in Get-VM){
      Get-HardDisk -VM $vm | ForEach-Object {
        $HardDisk = $_
          $row = "" | Select Hostname, Cluster, VM, GuestName, Datastore, VMXpath, HardDisk, DiskType, CapacityGB, DiskFreespace, TotalVMFSConsumed, ProvisionType, SnapshotRunning, SnapshotName, SnapshotSize, PowerState
          $row.Hostname = $vm.VMHost.Name
          $row.Cluster = (Get-Cluster -VM $vm ).Name
          $row.VM = $VM.Name
          $row.GuestName = $vm.Guest.HostName
          $row.Datastore = $HardDisk.Filename.Split("]")[0].TrimStart("[")
          $row.VMXpath = $HardDisk.FileName
          $row.HardDisk = $HardDisk.Name
          $row.CapacityGB = ("{0:f1}" -f ($HardDisk.CapacityKB/1MB))
          $row.DiskFreespace = [int]($vm.Guest.Disks | Where-Object { $_.Path -notlike '*docker*' } | Measure-Object FreeSpaceGB -Sum | Select -ExpandProperty Sum)
          $row.DiskType = $HardDisk.get_DiskType()
          $row.TotalVMFSConsumed = [int]($vm.get_UsedSpaceGB())
          $row.ProvisionType = $HardDisk.StorageFormat
          $row.SnapshotRunning = ! $null -eq (Get-Snapshot $vm) || $true
          $row.SnapshotName = (Get-Snapshot $vm).Name
          $row.SnapshotSize = [int](Get-Snapshot $vm).SizeGB
          $row.PowerState = $vm.PowerState
          $report += $row
      }
    }
}

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.