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

 

Loading...

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

Adblock Detected!

Taste-of-IT ist nur machbar, wenn auch die Werbung angezeigt wird. Wir versuchen hierbei diese so dezent wie möglich einzubinden, sodass der Besuch nicht beeinträchtigt wird. Unterstütze uns und setze Taste-of-IT.de in die Whitelist deines Browser. Vielen Dank