Estimados,

Estoy intentando enviar traps via comando snmptrap, y tengo algunos
problemas.
Pude hacerlo con un pequenno script con SNMP::Util, pero tengo problemas
para implementarlo en Red-Hat 4ES, por lo cual me gustaria hacerlo solamente
con el comando snmptrap.

He aqui los dos scripts:

1) trap.0.1.remote.pl

#!/usr/bin/perl
use SNMP_util;

# Variables
$PORT="162";
$HOST1="172.19.4.50";
$HOST2="192.168.228.10";
$COM_NAME="netadmro";
$E_OID=".1.3.6.1.4.1.4227";
$OID=".1.3.6.1.4.1.4227";
$GEN_TRAP_NUMBER="6";
$SPEC_TRAP_NUMBER="200";
$TYPE="string";
$VALUE="hello";

printf ("Hello World from Perl xD\n");

snmptrap("[EMAIL 
PROTECTED]:$PORT",$E_OID,$HOST2,$GEN_TRAP_NUMBER,$SPEC_TRAP_NUMBER,$OID,$TYPE,$VALUE);

2) send_trap0.1_v1

#!/bin/bash

# Variables
PORT="162"
HOST="172.19.4.50"
AGENT="192.168.228.10"
COM_NAME="netadmro"
E_OID=".1.3.6.1.4.1.4227"
OID=".1.3.6.1.4.1.4227"
GEN_TRAP_NUMBER="6"
SPEC_TRAP_NUMBER="200"
TYPE="s"
VALUE="hello"

#snmptrap $HOST $COM_NAME $E_OID $AGENT $GEN_TRAP_NUMBER $SPEC_TRAP_NUMBER
'' $OID $TYPE $VALUEi
snmptrap -v 1 -c $COM_NAME $HOST $E_OID '' $AGENT $TRAP $SPEC_TRAP_NUMBER ''
$OID $TYPE $VALUE

Si bien es cierto que el comando snmptrap asi como esta funciona, no envia
de la misma forma los datos por la red. En el fondo tengo problema con la
sixtaxis del comando. Vi el man del mismo pero aun no le doy xD

Los datos que viajan por la red dan evidencia que el script con snmptrap no
esta pescando el agente (quien envia los traps). El esnifeo con tcpdump da
lo siguiente:

[EMAIL PROTECTED]:~/scripting/traps$ perl trap.0.1.remote.pl
Hello World from Perl xD
[EMAIL PROTECTED]:~/scripting/traps$ sh -x send_trap0.1_v1
+ PORT=162
+ HOST=172.19.4.50
+ AGENT=192.168.228.10
+ COM_NAME=netadmro
+ E_OID=.1.3.6.1.4.1.4227
+ OID=.1.3.6.1.4.1.4227
+ GEN_TRAP_NUMBER=6
+ SPEC_TRAP_NUMBER=200
+ TYPE=s
+ VALUE=hello
+ snmptrap -v 1 -c netadmro 172.19.4.50 .1.3.6.1.4.1.4227 ''
192.168.228.10200 '' .1.3.6.1.4.1.4227 s hello

[EMAIL PROTECTED] ~]# tcpdump dst 172.19.4.50 -vvv

15:08:08.023566 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF], proto: UDP
(17), length: 90) 172.22.18.80.32768 > 172.19.4.50.snmp-trap:  { SNMPv1
C=netadmro { Trap(45)  E:4227 192.168.228.10 enterpriseSpecific s=200 0
E:[|snmp] } }

15:08:14.515601 IP (tos 0x0, ttl  64, id 0, offset 0, flags [DF], proto: UDP
(17), length: 93) 172.22.18.80.32768 > 172.19.4.50.snmp-trap:  { SNMPv1
C=netadmro { Trap(48)  E:4227 172.22.18.80 gt=192[specific-trap(200)!=0]
773226 [|snmp] } }

Alguien sabe como debo ejecutar el comando snmptrap?

Saludos.


Luis Eduardo Vivero Peña.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: 
http://listas.inf.utfsm.cl/pipermail/linux/attachments/20061023/dd2e801d/attachment.html
From [EMAIL PROTECTED]  Mon Oct 23 18:45:52 2006
From: [EMAIL PROTECTED] (Luis Vivero)
Date: Mon Oct 23 18:44:51 2006
Subject: Problemas al ejecutar script en Perl
Message-ID: <[EMAIL PROTECTED]>

Holas,

Compile el paquete net-snmp-5.1.2-11.EL4.7.src.rpm, el cual genero los
paquetes:

[EMAIL PROTECTED] x86_64]# ls -l
total 5200
-rw-r--r--  1 root root  504372 oct 23 16:35
net-snmp-5.1.2-11.EL4.7.x86_64.rpm
-rw-r--r--  1 root root 2317096 oct 23 16:35
net-snmp-debuginfo-5.1.2-11.EL4.7.x86_64.rpm
-rw-r--r--  1 root root  234973 oct 23 16:35
net-snmp-devel-5.1.2-11.EL4.7.x86_64.rpm
-rw-r--r--  1 root root 1873139 oct 23 16:35
net-snmp-libs-5.1.2-11.EL4.7.x86_64.rpm
-rw-r--r--  1 root root  163909 oct 23 16:35
net-snmp-perl-5.1.2-11.EL4.7.x86_64.rpm
-rw-r--r--  1 root root  164068 oct 23 16:35
net-snmp-utils-5.1.2-11.EL4.7.x86_64.rpm

Para mi sorpresa, genero el paquete que necesito, net-snmp-utils (modulo
snmp::utils).
Al intentar instalarlos, me sorprendi porque ya estaban xD :

[EMAIL PROTECTED] x86_64]# rpm -i net-snmp-5.1.2-11.EL4.7.x86_64.rpm
net-snmp-perl-5.1.2-11.EL4.7.x86_64.rpm
net-snmp-utils-5.1.2-11.EL4.7.x86_64.rpm
        package net-snmp-5.1.2-11.EL4.7 is already installed
        package net-snmp-perl-5.1.2-11.EL4.7 is already installed
        package net-snmp-utils-5.1.2-11.EL4.7 is already installed

Pero al tratar de ejecutar el script no encontro el modulo:

[EMAIL PROTECTED] traps]$ perl trap.0.1.remote.pl
Can't locate SNMP_util.pm in @INC (@INC contains:
/usr/lib64/perl5/5.8.5/x86_64-linux-thread-multi /usr/lib/perl5/5.8.5
/usr/lib64/perl5/site_perl/5.8.5/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.4/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.3/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.2/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.1/x86_64-linux-thread-multi
/usr/lib64/perl5/site_perl/5.8.0/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.5 /usr/lib/perl5/site_perl/5.8.4
/usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2
/usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0
/usr/lib/perl5/site_perl
/usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.8.4/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.8.3/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.8.2/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.8.1/x86_64-linux-thread-multi
/usr/lib64/perl5/vendor_perl/5.8.0/x86_64-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.5 /usr/lib/perl5/vendor_perl/5.8.4
/usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2
/usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl .) at trap.0.1.remote.pl line 2.
BEGIN failed--compilation aborted at trap.0.1.remote.pl line 2.

El contenido del script es el siguente:

[EMAIL PROTECTED] traps]$ cat trap.0.1.remote.pl
#!/usr/bin/perl
use SNMP_util;

# Variables
$PORT="162";
$HOST1="172.19.4.50";
$HOST2="192.168.228.10";
$COM_NAME="netadmro";
$E_OID=".1.3.6.1.4.1.4227";
$OID=".1.3.6.1.4.1.4227";
$GEN_TRAP_NUMBER="6";
$SPEC_TRAP_NUMBER="200";
$TYPE="string";
$VALUE="hello";

printf ("Hello World from Perl xD\n");

snmptrap("[EMAIL 
PROTECTED]:$PORT",$E_OID,$HOST2,$GEN_TRAP_NUMBER,$SPEC_TRAP_NUMBER,$OID,$TYPE,$VALUE);

Alquien detecta el problema? Alguna idea? (a parte de decir `capa 8` xD )
O sea, el archivo SNMP_util.pm no existe en el sistema de archivos, pero no
deberia generarse en la instalacion de net-snmp-utils?

Saludos.


Luis Eduardo Vivero Peña.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: 
http://listas.inf.utfsm.cl/pipermail/linux/attachments/20061023/1a357310/attachment.html
From [EMAIL PROTECTED]  Mon Oct 23 19:01:58 2006
From: [EMAIL PROTECTED] (Horst H. von Brand)
Date: Mon Oct 23 19:00:56 2006
Subject: =?iso-8859-1?q?Re=3A_b=FAsqueda_de_texto?=
In-Reply-To: Your message of "Mon, 23 Oct 2006 16:36:20 PDT."
        <[EMAIL PROTECTED]> 
Message-ID: <[EMAIL PROTECTED]>

Miguel Oyarzo O. <[EMAIL PROTECTED]> wrote:
> At 06:34 23-10-2006, Daniel Serpell wrote:
> >El Thu, Oct 19, 2006 at 12:10:54PM -0300, Julio Pacheco escribio:
> > > Tengo un directorio con 1000000+ archivos de diversos tipos.
> > > Necesito identificar sólo aquellos que contienen un patrón de la
> > > siguiente forma:
> > >
> > > texto_a_buscar[nul][nul](otro texto)
> > >
> > > en que texto_a_buscar puede aparecer en otros archivos (texto,
> > > código,etc).

> >[...]

> > > Ideas?

[...]

> Tambien puedes usar:
> 
>  find . -type f | xargs grep -e "expresion_regular"

Cual parte de "grep no funciona" [Y no funciona porque el patron contiene
caracteres nulos] se te paso?
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                    Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria             +56 32 2654239
Casilla 110-V, Valparaiso, Chile               Fax:  +56 32 2797513
From [EMAIL PROTECTED]  Mon Oct 23 19:00:31 2006
From: [EMAIL PROTECTED] (Luis Vivero)
Date: Mon Oct 23 19:06:11 2006
Subject: Problemas con modulo de Perl -- mas info
Message-ID: <[EMAIL PROTECTED]>

Holas, aca tengo mas info del problema en cuestion:

La unica parte en que existe un archivo como el que busca el script,esta en:

[EMAIL PROTECTED] SNMP]# pwd
/usr/lib/perl5/site_perl/5.8.5/SNMP
[EMAIL PROTECTED] SNMP]# ls -l
total 84
-r-xr-xr-x  1 root root   223 jun 27  2000 Util_env.pm
-r-xr-xr-x  1 root root 65627 jun 27  2000 Util.pm

Al parecer el archivo Util.pm es el que corresponde a SNMP::Util.
El problema es que el interprete lo busca con otro nombre:

[EMAIL PROTECTED] traps]$ perl trap.0.1.remote.pl
Can't locate SNMP_util.pm in @INC

, ya que busca el archivo llamado SNMP_util.pm, y con ese nombre no existe
en el PATH.

Alguna idea?

Saludos.


Luis Eduardo Vivero Peña.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: 
http://listas.inf.utfsm.cl/pipermail/linux/attachments/20061023/837a3d68/attachment.html
From [EMAIL PROTECTED]  Mon Oct 23 19:09:05 2006
From: [EMAIL PROTECTED] (Franco Catrin)
Date: Mon Oct 23 19:08:04 2006
Subject: Programar en Linux
In-Reply-To: <[EMAIL PROTECTED]>
References: <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]      host>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]      host>
        <[EMAIL PROTECTED]>
        <11614768       [EMAIL PROTECTED]>
        <3cd5f0920610211915w40617ae4x1f6dece    [EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>
        <3cd5f092061023 [EMAIL PROTECTED]>
        <[EMAIL PROTECTED]      no-ip.org>
        <[EMAIL PROTECTED]>
        <[EMAIL PROTECTED]>  <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>

El lun, 23-10-2006 a las 15:30 -0300, Ricardo Mun~oz A. escribió:
> Franco Catrin wrote:

> > Con todo listo para operar tenemos casi 32MB de memoria ocupada, y
> > mapeado un poco mas de 256MB, y con esto ya podemos hacer aplicaciones
> > escalables, distribuidas, etc.
> >
> > Como decia Horst.. el hardware es mucho mas barato que las HH, en mi PC
> > aun tengo 480MB para jugar
> >   
> 
> te falto incluir la RAM que te consume tu IDE Java favorito (solo un 
> suicida desarrolla una
> aplicacion seria en Java sin un IDE)...

No tiene sentido, el IDE no lo usas en las maquinas que estan sirviendo
(produccion).

En todo caso, el IDE me ocupa lo mismo que el IDE que uso para PHP, es
Anjuta.  Aunque el mayor tiempo estoy ocupando Z4 (CASE in-house), pero
tampoco es para tanto, evolution+liferea me ocupan mas

>  pero lo realmente interesante 
> seria saber la cantidad de
> RAM necesaria para un servidor web de produccion, con digamos unas 1000 
> conexiones
> simultaneas... te quedaria RAM para jugar?? ;)

Demas, las conexiones simultaneas no ocupan "mas ram", lo que ocupa ram
son los objetos vivos, y en aplicaciones mayoritariamente stateless son
objetos muy volatiles.   El problema lo tendria si se estan calculando
1000 reportes a un mismo tiempo, pero eso simplemente lo arreglaria
cambiando la invocacion al servicio de sincronica a asincronica con una
cola de mensajes, que es parte de J2EE, como usas las colas de mensajes
en PHP? que haces en esos casos?  porque el uso de memoria deberia andar
cerca en ambas plataformas para ese tipo de requerimientos.

Si estas usando EJB por ejemplo, puedes montar otro servidor (*) y
decirle en la configuracion : mire, cuando llamen a este objeto reparta
la carga entre estos dos servidores.  Es solo configuracion, no hay que
programar.  Como haces eso en PHP?

Ademas que para manejar 1000 conexiones simultaneas ocupas mecanismos
que te permitan cambiar la forma de manejar el I/O, revisa una charla de
Max Celedon y como cambio una aplicacion Java para mejorar la
escalabilidad.

Otra cosa es que en J2EE puedes restringir el uso de recursos escasos
para que se usen en forma secuencial y no paralela, por ejemplo esas
1000 conexiones en realidad se traducirian a 300 conexiones o menos.
Todo es a nivel declarativo, tu programa es EL MISMO.

Ignoro si eso se puede hacer en PHP, asi que no puedo hablar al respecto

(*) Levantar otro servidor es tan simple como ejecutar java -jar
boot.jar http://ipdelservidorareplicar   (o similar)


Saludos
-- 
Franco Catrin L.       TUXPAN
http://www.tuxpan.com/fcatrin

Responder a