TASTE-OF-IT

Cacti – Windows7 – remote Host – CPU Load Total und je Core

Cacti Logo

Cacti Logo

Im Rahmen meiner Tests mit Cacti und dem Auslesen und darstellen von Performancedaten von Windows7 Clients, habe ich nachfolgend ein Powershell script und eine Kurzanleitung zur Einrichtung und Darstellung der Werte in Cacti geschrieben. Das Script liest die Cores der CPU aus und zeichnet deren aktuelle Auslastung für Cacti auf.

# Version 1.0 vom 20.03.2015 by Taste-Of-It.de
# get from Remote Host CPU Count of Cores and for each the Load in %
# last Value of Cores is always Total for all Cores
# call script-name.ps1 <hostname>

Try{
        $i = 0
        $hostname = $args[0]
        $cores = Get-WmiObject -class win32_processor -computername $hostname -property "numberOfCores" | Select-Object -ExpandProperty NumberOfCores
        #$cores
        $coreLoad = Get-WmiObject Win32_PerfFormattedData_PerfOS_Processor | Select-Object -ExpandProperty PercentProcessorTime
        foreach($objItem IN $coreLoad){
            if($i -lt $cores){
                $coresText = $coresText+"Core"+$i+":"+$objItem+" "
            }else{
                $totalText = "CPUTotal:"+$objItem
            }            
            $i++
        }
        write-host $totalText" "$coresText
    }
Catch{
        "CPUTotal:0 Core0:0 Core1:0 Core2:0 Core3:0 Core4:0 Core5:0 Core6:0 Core7:0"
    }

Das Powershell Script versucht die Daten der Cores der CPU sowie der gesamten Leistung mittels WMI-Objekt abzufragen. Gelingt dies nicht wird statt eines Fehlers, der dann in Cacti aufschlagen würde, jeweils der Wert 0 zurückgegeben (Try / Catch). Der nachfolgende Cacti Graph zeigt diese bis zu 8 Cores an (0-7).

Kurzanleitung für den Graphen zur Anzeigen des freien Speicherplatzes in Cacti

Done – nun sollte der Graph in den nächsten 2xPoller Time erstellt werden und ggf. wie folgt aussehen.

Windows 7 CPU Core Last Cacti Graph

So ist das doch klasse und zeigt schön die Arbeit der CPU auf 😉

Die mobile Version verlassen