#!/usr/bin/perl -w # MRTG-Skript, ermittelt die belegte Festplatten-Kapazität use Net::SNMP; # Object-IDs der SNMP-Variablen my $uptimeOID = '.1.3.6.1.2.1.1.3.0'; my $nameOID = '.1.3.6.1.2.1.1.5.0'; # hrStorageAllocationUnits my $unitsOID = '.1.3.6.1.2.1.25.2.3.1.4.1'; # hrStorageUsed my $usedOID = '.1.3.6.1.2.1.25.2.3.1.6.1'; # Werte abfragen ($session, $error) = Net::SNMP->session(     Hostname => $ARGV[0],     Community => $ARGV[1]); die "Session-Fehler: $error" unless ($session); # Uptime und Name $result = $session->get_request($uptimeOID); $uptime = $result->{$uptimeOID}; $result = $session->get_request($nameOID); $name   = $result->{$nameOID}; # Blockgröße und Anzahl genutzter Blöcke $result = $session->get_request($unitsOID); $units  = $result->{$unitsOID}; $result = $session->get_request($usedOID); $used   = $result->{$usedOID}; # Belegten Platz in MByte umrechnen $usedMB = int (($units * $used) / (1024 * 1024)); # Werte an MRTG übermitteln print "$usedMB\n"; print "0\n"; # zweiter Wert wird nicht angezeigt print "$uptime\n"; print "$name\n";