PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : snmpget in perl-skript bei suse 8.2



Joey41
02.03.04, 18:43
Hallo,

ich möchte ein Netzwerkgerät mit snmp durch ein perl-skript auslesen. Leider weiss ich nicht, wie man snmp für perl installiert. Ich habe folgende Pakete aus der SuSE 8.2 installiert:

- perl
- perl-SNMP
- perl-NET-SNMP
- ucdsnmp

Vielleicht ist es ja bereits installiert und die snmp Syntax in meinem skript ist einfach falsch. Auf der Konsole funktioniert snmp allerdings einwandfrei. Giebt es hier vielleicht ein online Manual?

Hat jemand einen Tipp?

Würde mich freuen.

Grüsse

Joey41

spunz
02.03.04, 19:13
welches script verwendest du? kann es ev was anderes sein, zb ein shell script oder cacti?

Joey41
02.03.04, 19:24
Zur Zeit nutze ich als workarount folgende zwei skripte:

1. Shellskript:

#!/bin/bash

counter=$(snmpget 192.168.0.120 public enterprises.5040.1.2.4.3.2.1.1.4.2)
./logstring $counter >> ./hourlyTableGas


2. Perlskript "logsting":

#!/usr/bin/perl


($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isd st)=localtime();
$jahr=$year;
$monat=$mon+1;
$tag=$mday;
$jahr=$year;
$jahr=$year +1900;

if (length($monat) == 1)
{
$monat="0$monat";
}

if(length($tag) == 1)
{
$tag="0$tag";
}

if(length($hour) == 1)
{
$hour="0$hour";
}

if(length($min) == 1)
{
$min="0$min";
}

if(length($sec) == 1)
{
$sec="0$sec";
}

$Xdatum=$tag.".".$monat.".".$jahr; $Xzeit=$hour.":".$min.":".$sec;

#$Xdatum="$jahr$monat$tag";
#$Xzeit="$hour$min$sec";

#print $Xdatum." ".$Xzeit;

$Uebergabewert=$ARGV[2];

print $Xdatum." ".$Xzeit." ".$Uebergabewert."\n";


Um den Ablauf eleganter zu machen, müßte es doch möglich sein, den snmp-Wert direkt in perl auszulesen, als ihn von der shell nach perl zu übergeben.

Ich bin blutiger perl Laie. Erklär es mir bitte so, als ob ich 5 Jahre wäre.

Danke

Joey41