perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 25
Click for quality!




10.02.2012 / 20:06

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragSNMP Traps "im Namen" eines anderen Hosts mit Perl verschicken
Seitenanfang
Hallo,

zuerst meine verwendete Software mit Versionsnummer:
Nagios Version 2.4
SNMPTT v1.1
NET-SNMP version: 5.3.0.1
Perl v5.8.5

Jetzt zu meinem Problem. Ich würde gerne SNMP Traps von einem Server "im Namen" eines anderen Hosts versenden. Ich werde besser ein Beispiel anführen.

Folgendes funktioniert (Beispiel 1):

#!/usr/bin/perl -w
use SNMP_util "0.89";

snmptrap("public\@Empfangsserver:162",".1.3.6.1.4.1.318","localhost", 6, 1,".1.3.6.1.4.1.318.0.1", "string", "Test_Trap-Communication lost");

Folgendes funktioniert leider nicht (Beispiel 2):

#!/usr/bin/perl -w
use SNMP_util "0.89";

snmptrap("public\@Empfangsserver:162",".1.3.6.1.4.1.318","Anderer Host", 6, 1,".1.3.6.1.4.1.318.0.1", "string", "Test_Trap-Communication lost");

--> Bei Beispiel 1 sende ich einfach einen Trap vom Localhost an den Empfangsserver, der den Trap verarbeitet und Nagios zeigt den Trap für den Localhost an, also funktioniert.
--> Bei Beispiel 2 möchte ich jedoch Nagios "vorschwindeln", dass der Trap von einem anderen Host kommt. Ich sende also einen Trap vom Localhost an den Empfangsserver, aber ich versuche es "im Namen" eines <Anderer Host> zu senden, d.h. ich möchte, dass der Trap in Nagios für den anderen Host angezeigt wird und nicht für den Localhost. Das funktioniert aber leider nicht, es wird immer nur für den Localhost angezeigt. Hat jemand eine Ahnung, wie das funktionieren könnte?

Habe auch noch folgende Möglichkeit gefunden:

#!/usr/bin/perl -w
use SNMP_util "0.89";

snmptrap("public\@Empfangsserver:162!Anderer Host",".1.3.6.1.4.1.318","localhost", 6, 1,".1.3.6.1.4.1.318.0.1", "string", "Test_Trap-Communication lost");

--> Nach dem ! wird die IP-Adresse des Hosts angegeben "in dessen Namen" das Trap gesendet wird. Funktioniert aber leider auch nicht. Ich erhalte immer folgende Fehlermeldung:
Error:
creating socket: Cannot assign requested address at /usr/lib/perl5/site_perl/5.8.5/SNMP_util.pm line 426 SNMPTRAP Problem for public@Empfangsserver:!Anderer Host
at sending_traps.pl line 5
Laut http://www.switch.ch/misc/leinen/snmp/perl/dist/README.SNMP_util müsste es jedoch so funktionieren.

Ich würde dies sehr dringend benötigen, also bin ich für jede Antwort sehr dankbar.

LG Markus

Datum: 02.04.2007-12:30

Beitragre: SNMP Traps "im Namen" eines anderen Hosts mit Perl verschicken
Seitenanfang
Danke, hat sich erledigt!

Falls aber jemand einmal das gleiche Problem haben sollte, poste ich hier die Lösung. Beispiel 2 war der richtige Code, nämlich:

#!/usr/bin/perl -w
use SNMP_util "0.89";

snmptrap("public\@Empfangsserver:162",".1.3.6.1.4.1.318","Anderer Host", 6, 1,".1.3.6.1.4.1.318.0.1", "string", "Test_Trap-Communication lost");

Mein Fehler war, dass ich dem submit_check_result Skript immer als Parameter $r, d.h. den Hostnamen, mitgegeben habe, wenn ich aber $r zu $aA ändere (--> Agent IP-Adresse), dann wird der Trap für den richtigen Host angezeigt.
Trotzdem danke an alle, die sich wegen meinem Problem umgeschaut haben.

LG Star

Datum: 02.04.2007-17:24

-






-
-