Cacti – Windows7 – remote Host – Process CPU Verbrauch

Powershell Script zum remote Abfragen des Zustandes des CPU Load eines angegebenen Prozesses und der grafischen Darstellung in Cacti.

# Version 1.0 vom 24.03.2015 by Taste-Of-IT.de
# return used CPU Load in Percent from given process and hostname
# call script-name.ps1 <hostname> <process>
Try{        
        $HostName = $args[0]
        $ProcessName = $args[1]        
        $ProcessCPU = get-wmiobject Win32_PerfFormattedData_PerfProc_Process -computername $Hostname| Select-Object -Property Name,PercentProcessorTime |Where-Object {$_.name -eq $ProcessName} |Select-Object -ExpandProperty PercentProcessorTime
        "ProcessCPU:"+$ProcessCPU
    }
Catch{
        "ProcessCPU:0"
    }

Das Powershell Script dass den CPU Load eines angegebenen Prozesses von einem Remotecomputer, mittels WMI-Objekt, abfragt. Gelingt dies nicht wird statt eines Fehlers, der dann in Cacti aufschlagen würde, jeweils der Wert 0 zurückgegeben (Try / Catch).

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

  • Login -> console
  • Data Input Methods -> Add ->
    • Name = Win – PS Process CPU Usage
    • Input Type = Script/Command
    • Input String = powershell c:\ps-scripte\ps-remote-process-cpu.ps1 <hostname> <processname>
    • Create
    • Input Fields -> Add
      • Field[Input] = hostname
      • Friendly Name = Hostname
      • Special Type Code = hostname
    • Input Fields -> Add
      • Field[Input] = processname
      • Friendly Name = ProcessName
      • Special Type Code =
    • Output Fields -> Add
      • Field = ProcessCPU
      • Friendly Name = ProcessCPU
      • Create
    • Save
  • Data Templates -> Add
    • Data Templates
      • Name = Win – PS Process CPU Usage
    • Data Source
      • Name = |host_description| PS Process CPU Usage
      • Data Input Method = Win – PS Process CPU Usage
      • Step = 60
    • Data Source Item
      • Internal Data Source Name = ProcessCPU
      • Minimum Value = 0
      • Maximum Value = U
      • Heartbeat = 120
      • Create
      • Output Field = ProcessCPU – ProcessCPU
      • Save
    • Custom Data
      • Hostname = frei lassen
      • ProcessName = Haken für Use Peer-Data Source Value
  • Save
  • Graph Templates -> Add
    • Name = Win – PS Process CPU Usage
    • Title = |host_description| – |input_processname| Process CPU Usage <- |input_processcpu| sorgt dafür dass später im Titel des Graphen der individuelle Name des Processes steht
    • Upper Limit = U
    • Lower Limit = 0
    • Base Value = 1000
    • Vertical Label = in Prozent
    • Create
    • Graph Template Items -> Add (PS Process CPUUsage – AREA)
      • Data Source = Win – PS Process CPU Usage – (ProcessCPU)
      • Color = Grün
      • Graph Item Type = AREA
      • Consolidate Function = Average
      • CDEF Function =
      • Text Format = ProcessCPU
      • Create
    • Graph Template Items -> Add (PS Process CPU Usage – Legend) <-Current, Average und Max werden automatisch erstellt
      • Data Source = Win – PS Process CPU Usage – (ProcessCPU)
      • CDEF Function =
      • Text Format = ProcessCPU
      • Create
    • Save
  • Devices -> Add (nur wenn noch kein Host vorhanden ist, ansonsten zum nächsten Punkt)
    • Description = winclient01
    • Hostname = winclient01
    • Host Template = none
    • Downed Device Detection = Ping
    • Ping Method = ICMP Ping
    • Create (ICMP Ping Success (0 ms)
  • Devices -> winclient01 -> Associated Graph Templates
    • Add Graph Templates = Win – PS Process CPU Usage
    • Add
  • Devices -> winclient01 -> Create Graphs for this Host
    • Graph Template Name – Haken bei Create: Win – PS Process CPU Usage
    • Create
    • Custom Data -> ProcessName = Firefox
    • Create
  • Management -> Graph Management -> obigen Graph vom Host winclient01 dem Default Tree hinzufügen
    • Haken hinter winclient01 – Win – PS Process CPU Usage
    • Place on a Tree (Default Tree)
    • Go
    • Destination Branch: [root]
    • Continue

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

Windows7 Cacti Firefox Prozess CPU

Windows7 Cacti Firefox Prozess CPU

 

Schreibe einen Kommentar

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