Cacti – Windows7 – remote Host – Process Memory Verbrauch

Powershell Script zum remote Abfragen des Arbeitsspeicherverbrauchs eines Prozesses unter Windows und grafischen Darstellung in Cacti.

# Version 1.5 vom 23.03.2015 by Taste-Of-IT.de
# return used Memory in Bytes from all Process with same Name in sum from Remotehost
# call script-name.ps1 <hostname> <process>
Try{        
        $RAM = 0;
        $ProcessMemory =  Get-Process -ComputerName $args[0] $args[1] -erroraction 'silentlycontinue' |Select-Object -ExpandProperty ws
        foreach($Item IN $ProcessMemory){
            $RAM = $RAM+$Item
        }
        "ProcessMemory:"+$RAM
    }
Catch{
        "ProcessMemory:0"
    }

Das Powershell Script fragt den benutzten Arbeitsspeicher eines angegebenen Prozesses eines remote Computers ab. 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 benutzten RAM eines Prozesses in Cacti

  • Login -> console
  • Data Input Methods -> Add ->
    • Name = Win – PS Process Memory Usage
    • Input Type = Script/Command
    • Input String = powershell c:\ps-scripte\ps-remote-process-ie.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 = ProcessMemory
      • Friendly Name = ProcessMemory
      • Create
    • Save
  • Data Templates -> Add
    • Data Templates
      • Name = Win – PS Process Memory Usage
    • Data Source
      • Name = |host_description| PS Process Memory Usage
      • Data Input Method = Win – PS Process Memory Usage
      • Step = 60
    • Data Source Item
      • Internal Data Source Name = ProcessMemory
      • Minimum Value = 0
      • Maximum Value = U
      • Heartbeat = 120
      • Create
      • Output Field = TotalMemory – TotalMemory
      • Save
    • Custom Data
      • Hostname = frei lassen
      • ProcessName = Haken für Use Peer-Data Source Value
  • Save
  • Graph Templates -> Add
    • Name = Win – PS Process Memory Usage
    • Title = |host_description| – |input_processname| Process Memory Usage <- |input_processname| sorgt dafür dass später im Titel des Graphen der individuelle Name des Processes steht
    • Upper Limit = U
    • Lower Limit = 0
    • Base Value = 1024
    • Vertical Label = -byte
    • Create
    • Graph Template Items -> Add (PS Process Memory Usage – AREA)
      • Data Source = Win – PS Process Memory Usage – (ProcessMemor)
      • Color = Grün
      • Graph Item Type = AREA
      • Consolidate Function = Average
      • CDEF Function =
      • Text Format = ProcessMemory
      • Create
    • Graph Template Items -> Add (PS Process Memory Usage – Legend) <-Current, Average und Max werden automatisch erstellt
      • Data Source = Win – PS Process Memory Usage – (ProcessMemor)
      • CDEF Function =
      • Text Format = ProcessMemory
      • 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 Memory Usage
    • Add
  • Devices -> winclient01 -> Create Graphs for this Host
    • Graph Template Name – Haken bei Create: Win – PS Process Memory 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 Memory 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.

Cacti RAM Prozess Internet Explorer

Cacti RAM Prozess Internet Explorer

Dies kann dann für weitere Prozesse verwendet werden. So konnte ich z.B. den Verbrauch des Arbeitsspeichers von Outlook, Chrome, den Firefox und anderen Programmen visualisieren.

Schreibe einen Kommentar

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