Cacti – Windows7 – remote Computer Festplatte Read und Write

Powershell Script zum remote Abfragen des Read und Write Wertes der Festplatte (c:) und grafischen  Darstellung in Cacti.

#Version 1. vom 16.04.2015 by Taste-Of-IT.de
#get Disk Read and Write in Byte/Seconds round
#call script-name.ps1 <hostname>
Try{
        $hostname = $args[0]
        $DiskRead = Get-Counter -Computername $hostname -Counter '\Logischer Datenträger(c:)\Bytes gelesen/s'
        $DiskRead = $DiskRead.CounterSamples.CookedValue
        $DiskWrite = Get-Counter -Counter '\Logischer Datenträger(c:)\Bytes geschrieben/s'
        $DiskWrite = $DiskWrite.CounterSamples.CookedValue
        "DiskRead:"+[math]::round($DiskRead,2)+ " DiskWrite:"+[math]::round($DiskWrite,2)                
    }
Catch{
        "DiskRead:0 DiskWrite:0"
    }

Das Powershell Script versucht den Read und Write Wert der Festplatte (c:) mittels Powershell abzufragen und in Cacti anzuzeigen. 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 Read bzw. Write Wertes der abgefragten HDD in Cacti

  • Login -> console
  • Data Input Methods -> Add ->
    • Name = Win – PS Disk Read Write
    • Input Type = Script/Command
    • Input String = powershell c:\ps-scripte\ps-remote-disk-c-read-write.ps1 <hostname>
    • Create
    • Input Fields -> Add
      • Field[Input] = hostname
      • Friendly Name = Hostname
      • Special Type Code = hostname
    • Output Fields -> Add
      • Field = DiskRead
      • Friendly Name = DiskRead
      • Create
    • Output Fields -> Add
      • Field = DiskWrite
      • Friendly Name = DiskWrite
      • Create
    • Save
  • Data Templates -> Add
    • Data Templates
      • Name = Win – PS Disk Read Write
    • Data Source
      • Name = |host_description| Disk Read Write
      • Data Input Method = Win – PS Disk Read Write
      • Step = 60
    • Data Source Item
      • Internal Data Source Name = DiskRead
      • Minimum Value = 0
      • Maximum Value = U
      • Heartbeat = 120
      • Create
      • Output Field = DiskRead – DiskRead
    • Data Source Item -> New
      • Internal Data Source Name = DiskWrite
      • Minimum Value = 0
      • Maximum Value = U
      • Heartbeat = 120
      • Create
      • Output Field = DiskWrite – DiskWrite
      • Save
    • Custom Data
      • Hostname = frei lassen
  • Save
  • Graph Templates -> Add
    • Name = Win – PS Disk Read Write
    • Title = |host_description| – Disk Read Write
    • Upper Limit = U
    • Lower Limit = 0
    • Base Value = 1024
    • Vertical Label = -byte
    • Create
    • Graph Template Items -> Add (DiskRead- AREA)
      • Data Source = Win – PS Disk Read Write – (DiskRead)
      • Color = Gelb
      • Graph Item Type = AREA
      • Consolidate Function = Average
      • CDEF Function =
      • Text Format = Read
      • Create
    • Graph Template Items -> Add (DiskRead- Legend) <-Current, Average und Max werden automatisch erstellt
      • Data Source = Win – PS Disk Read Write – (DiskRead)
      • CDEF Function =
      • Text Format = Read
      • Create
    • Graph Template Items -> Add (DiskWrite – AREA)
      • Data Source = Win – PS Disk Read Write – (DiskWrite)
      • Color = Grün
      • Graph Item Type = AREA
      • Consolidate Function = Average
      • CDEF Function =
      • Text Format = Write
      • Create
    • Graph Template Items -> Add (DiskWrite- Legend) <-Current, Average und Max werden automatisch erstellt
      • Data Source = Win – PS Disk Read Write  – (DiskWrite
      • CDEF Function =
      • Text Format = Write
      • 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 Disk Read Write
    • Add
  • Devices -> winclient01 -> Create Graphs for this Host
    • Graph Template Name – Haken bei Create: Win – PS Disk Read Write
    • Create
  • Management -> Graph Management -> obigen Graph vom Host winclient01 dem Default Tree hinzufügen
    • Haken hinter winclient01 – Disk Read Write
    • Place on a Tree (Default Tree)
    • Go
    • Destination Branch: [root]
    • Continue

Done – nun sollte der Graph in den nächsten 2xPoller Time erstellt werden. Das obige kann selbstverständlich auch für andere Festplatten genutzt werden.

Schreibe einen Kommentar

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