Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/01/2007, à 11:16

YannTech

SNMP Trap -> e-mail

Bonjour à tous,

Je sais pas si la question as déjà été posé mais il y a des erreurs sur la recherche des posts ....

Donc :

Je dispose de plusieurs appliance (fw nokia, nas, ....) et j'aimerais configuré le snmp trap sous mon serveur edgy.
Malheureusement je ne trouve pas de tuto pour configurer un serveur snmp gerant les traps et m'envoyant un petit e-mail pour chaque alerte Nagios2 semble ne pas le traiter en natif.


Merci par avance

Hors ligne

#2 Le 18/01/2007, à 13:40

R3dL!GhT

Re : SNMP Trap -> e-mail

J'ai le meme probleme que toi ... en gros j'essaie d'écrire un serveur udp/162 qui ecoute en permanance les traps snmp entrante en ecrivant dans différents fichiers (en matchant certaines expressions regulières qui m'intéressent). Voici mon script :

use strict;
use IO::Socket;

my($sock, $oldmsg, $newmsg, $hisaddr, $hishost, $MAXLEN, $PORTNO, $TrapCPU);
$MAXLEN = 1024;
$PORTNO = 162;
$TrapCPU="/root/TrapCPU";


$sock = IO::Socket::INET->new(LocalPort => $PORTNO, Proto => 'udp')
    or die "socket: $@"  ;
    print "Lancement du serveur en ecoute sur le port $PORTNO\n";
open (INFOCPU ,"+>$TrapCPU") || die "Le fichier d'info sur le cpu n'a pas pu etre cree";
    while ($sock->recv($newmsg, $MAXLEN)) {
        my($port, $ipaddr) = sockaddr_in($sock->peername);
        $hishost = gethostbyaddr($ipaddr, AF_INET);
        if ($newmsg =~ / cpuUtilNotify /){
                #print STDOUT "Client $hishost said $newmsg\n";
                print INFOCPU ("$newmsg");
        }else{
                print "ceci n est pas une trappe concernant le cpu\n";
        }
    }
die "recv: $!";
close(INFOCPU);

Le but du plugin nagios sera alors de lire les fichiers créés tout simplement et de parser "critical" et "cpuUtilNotify" par exemple...
En gros le problème est que les traps sont envoyées en continue et que du coup le socket n'est jamais fermé (c'est qd meme mal foutu les trap snmp !!). Je ne peux donc jamais fermer avec un close mon fichier qui est locké par le serveur et du coup avec accès aux infos...

Une idée ???