-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-03-12 a las 11:08 +0100, Camaleón escribió:
El 12/03/08, Carlos E. R. escribió:
Vale, lo hago ahora mismo [...] nada. En el syslog se ve el evento:
Mar 11 23:53:50 router klogd: ADSL link down
(...)
Pues eso si que no puede ser. Perder la sincronización yo diría que se trata de un evento "gordo". Como mínimo, debe registrar la caída como ves en el otro registro que tiene.
Claro. Han hecho lo mínimo. Han cogido el paquete net-snmp de linux, lo han metido y compilado, y punto. Igual no se han molestado en configurarlo. Con el daemon de agente vienen ejemplos como para hacer que envíe un evento si el espacio en disco duro está bajo. Podrías hacer que enviara uno si el correo se acumula sin salir, o te bombardean a faxes. El evento lo recibe otro ordenador. Discos llenos en cinco ordenadores de la sala --> enventos al admin --> correo automático al de compras. :-P
Puede ser. No me extrañaría.
O que no lo envíe el router o que no estés cargando una tabla de la que poder extraer los datos que necesitas.
Es que yo no estoy seguro que haga falta cargar una tabla para usar el snmpwalk. El manual no lo dice: If no OID argument is present, snmpwalk will search the subtree rooted at SNMPv2-SMI::mib-2 (including any MIB object values from other MIB modules, that are defined as lying within this subtree). If the network entity has an error processing the request packet, an error packet will be returned and a message will be shown, helping to pinpoint why the request was malformed. If the tree search causes attempts to search beyond the end of the MIB, the message "End of MIB" will be displayed. Lo hace con llamadas get next: snmpgetnext - communicates with a network entity using SNMP GETNEXT requests Pero por ningún lado habla de cargar tablas de un fichero. No tiene esa opción en la linea de comandos. El único que habla de eso es el tkmib, pero creo que es porque dibuja el arbol antes de intentar conectar para descargarlo. Yo creo que el ficherito sirve para que muestre el arbol que corresponde con el cacharro al otro extremo; pero los datos se pueden sacar sin ello.
Buf.... cuando lo encuentres... porque no veo ninguno de comtrend. Y no tiene botón de "search" :-(
Tiene el botón para buscar, pero no va :-).
En todo caso, te interesa sólo las del "ADSL-*" que son mibs que no veo disponibles en los directorios /mib de net-snmp.
¡me puedo morir antes!
¡Uacc, Uaccc! << el pájaro de mal agüero
Es un ruter casero, no se le pueden pedir peras al olmo. Y de taiwan.
buscando en google la cadena "SNMPv2-SMI::enterprises.4413.2.10" encuentro dos entradas, y una es de un correo mio del 2006.
Y la otra es <http://www.ixbt.com/comm/adsl/usrobotics-9108/snmp.shtml>, en ruso. No sale lo mismo que en el mio.
Hum... el ruso ve direcciones IP:
Las vi. ¡Pero fíjate que el nombre de la variable ya contiene la IP!
*** IP-MIB::ipAdEntAddr.10.0.0.56 = IpAddress: 10.0.0.56 IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1 IP-MIB::ipAdEntAddr.192.168.1.1 = IpAddress: 192.168.1.1 ***
Yo no puedo pedir eso via snmpget, porque para pedirlo es que ya sabes la ip. Si yo veo esta parrafada en el walk: IF-MIB::ifDescr.8 = STRING: br0 IF-MIB::ifDescr.9 = STRING: nas_8_32 IF-MIB::ifDescr.10 = STRING: nas_8_36 IF-MIB::ifDescr.11 = STRING: ppp_8_32_1 IF-MIB::ifType.1 = INTEGER: softwareLoopback(24) IF-MIB::ifType.2 = INTEGER: atm(37) Puedo también pedir una variable cualquiera: cer@nimrodel:~> snmpget -c private -v2c router IF-MIB::ifType.2 IF-MIB::ifType.2 = INTEGER: atm(37) Si pido una de esas del ruso: cer@nimrodel:~> snmpget -c private -v2c router ipAdEntAddr.192.168.1.1 IP-MIB::ipAdEntAddr.192.168.1.1 = No Such Object available on this agent at this OID me manda a hacer gárgaras. Y no sé si hay algún comando para decirle que intente bajarse todo el "IP-MIB" si existe, o cual es la sintaxis. Si uso esta sintaxis: cer@nimrodel:~> snmpwalk -Os -c public -v 2c router system sysDescr.0 = STRING: Broadcom Bcm963xx Software Version 2.20L.01 sysObjectID.0 = OID: enterprises.4413.2.10 sysUpTimeInstance = Timeticks: (273103500) 31 days, 14:37:15.00 sysContact.0 = STRING: unknown sysName.0 = STRING: Broadcom sysLocation.0 = STRING: unknown sysServices.0 = INTEGER: 72 Puedo entonces pedir "ipAdEntAddr" como el ruso: cer@nimrodel:~> snmpwalk -Os -c public -v 2c router ipAdEntAddr ipAdEntAddr = No more variables left in this MIB View (It is past the end of the MIB tree) pero narices.
Pero a ti se te cortaba y te decía que "no hay más variables en esa vista":
*** IF-MIB::ifSpecific.11 = No more variables left in this MIB View (It is past the end of the MIB tree) ***
Intentar forzar una carga de la tabla "IP-MIB" o "IP-FORWARD-MIB" de las cuales explican su uso en la documentación:
No hay comandos para cargar tablas en el walk. O no me he enterado.
http://net-snmp.sourceforge.net/docs/mibs/
Pero yo no creo que con el fichero ese se puedan sacar más datos que los que saca el snmpwalk, que según el manual parece que saca todos los que existan. O entiendo mal el manual.
Saca estos MIB:
SNMPv2-MIB::, DISMAN-EVENT-MIB::, SNMPv2-MIB::, IF-MIB::,
Esos, esos, prueba con alguno de ésos. El que te carga (SNMPv2-SMI) es genérico, no tendrá todos los datos que buscas.
Pero el contenido entero de esos cutro es lo que sale en el walk.
La info la da por telnet, ssh, o web (con javacsript) correctamente. La cuestión era ver que se puede sacar por snmp, si lo mismo o no.
Bueno, la información y que registre el evento como hace el syslog del router (caída de la línea, incremento o disminución de la velocidad de subida y bajada o variación en los valores de atenuación y ruido, por ejemplo).
Algunas cosas se pueden sacar interrogando al agente. Menos que por telnet.
Por cierto, ¿cuántos mibs se pueden cargar? :-? Si es un demonio, quizá puedas tener varias instancias con un mib distinto para atrapar más cositas :-)
El daemon recibe lo que le manden, le da igual. Este es el único evento registrado desde ayer, cuando se enciende: Mar 11 16:28:46 nimrodel snmptrapd[3767]: router [UDP: [192.168.1.1]:3073]: Trap , DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (201) 0:00:02.01, SNMPv2-MIB::snmpTrapOID.0 = OID: SNMPv2-MIB::coldStart, SNMPv2-MIB::snmpTrapEnterprise.0 = OID: SNMPv2-SMI::enterprises.4413.2.10 Que se corresponde con esto otro que se ve con el "snmpwalk": DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (272970853) 31 days, 14:15:08.53 Yo creo que el fichero MIB sólo serviría para ponerlo más bonito, pero los datos son esos. Podría intentar capturarlo con ethereal para asegurarme. Lo que pasa es que el daemon se puede usar para disparar tareas de todo tipo al recibir un evento. Puedes hacer que se mande un correo o te llame al movil, por ejemplo. Lo que te de la gana. O unicamente escribirlo en el log, que es lo que yo hago. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) iD8DBQFH17OPtTMYHG2NR9URAp9CAJ43uA6iBBS68FO2H7wt8p+j/O/1xQCdFHiJ u4uBntDdiuaqClzJQbWULao= =Nzww -----END PGP SIGNATURE-----