NITCOM LABS
Nucleo de Investigacion Tecnologica

Buscador Especializado

Una cosa conlleva a la otra

Que rico 28 .. hace buen tiempo no la paso asi ... antes de salir de vacaciones adquiri una revista que mencionaba algo de mibs y traps y recorde que tenia algo pendiente con la empresa en el cual laboro , que era justamente llevar todos los traps y alarmas a una base de datos .. la tarea no era sencilla asumiento que el fabricante manejaba 3000 mibs e interpretarlos seria una tarea de titanes .. asi que me ayude en que el mismo hw o controladora poleaba localmente los traps , asi que el tema fue mas facil.
Ayudado de mi querido linux , empeze a usar php + regexp a fin de filtrar lo que justamente queria obtener , lineas donde figuraran 4 campos ... fecha, hora , ip y alarma .
Ayudado nuevamente de php y la funcion explode e implode y a trabajar el ultimo campo que es el de alarma.
Lo que me queda son 300 o 500 lineas con esos 4 campos de ahi la tarea era mas facil ... solo una sentencia for y listo linea por linea para que se comporte en un bello registro por registro.
Listo ... solo un crond cada 5 mins y listo .. todo el Peru en una tabla ....

Lo demas ya fue mas sencillo , realizar las consultas , crear algunas funciones que generaran algun tipo de filtro implementar un calendario ...

Alguien me pidio un poco del codigo ... bueno el trabajo pesado lo hace 40 lineas en php, no soy programador pero un poco de esfuerzo por entenderlo nos ayuda a hacer la vida mas sencilla

"abro php"
function cambio($fecha)
{
ereg( "([0-9]{1,2})/([0-9]{1,2})/([0-9]{2,4})", $fecha, $mifecha);
$lafecha=$mifecha[3]."-".$mifecha[1]."-".$mifecha[2];
return $lafecha;
}
$db = mysql_connect("host","user","clave");
mysql_select_db("base",$db);
$aip = mysql_query( "SELECT ip FROM rack");
$ip = mysql_fetch_row($aip);
$nod=mysql_num_rows($aip);
echo $ip[1];
//for($j = 0; $j < $nod; $j += 1) while ($ip = mysql_fetch_row($aip)) { $i = $ip[0]; $uno = "http://"; $dos = "/traps_tab.asp"; $tres = "/traps_tab.asp?Clear=TRAP"; $url = $uno.$i.$dos; $borrar = $uno.$i.$tres; $out = `lynx $url -auth=user:clave -dump | grep TRAP | sed s/TRAP/$i/g` ; $delete = `lynx $borrar -auth=user:clave -dump`; $linea = explode("\n",$out); $num= count($linea); for($i = 0; $i < $num-1; $i += 1) { $elementos = explode(" ",$linea[$i]); $fechax = $elementos[3]; $fecha = cambio($fechax); unset($elementos[0]); unset($elementos[1]); unset($elementos[2]); unset($elementos[3]); $hora = $elementos[4]; unset($elementos[4]); $ip = $elementos[5]; unset($elementos[5]); $alarma = implode(" ",$elementos); $db = mysql_connect("host2","user2","clave2"); mysql_select_db("base2",$db); $sql = "INSERT INTO alarmas(fecha,hora,ip,alarma) VALUES('$fecha','$hora','$ip','$alarma')"; $result=mysql_query($sql); } } "cierro php" Ahora solo aplicarlo al crond */5 * * * * curl -k http://mi_ip_de_mi_linux/logs.php Y listo el pollo ! Y lo que quedo .. fue sencillamente y lindisimo sistema de consultas de las alarmas de todos los equipos el cual se tienen gestion de todo el Peru. Un paso mas adelante de telmex que no tiene gestion en este nivel de equipos !!! entonces finalmente .. salut ! y Viva el Peru ... y Linux calacho !!!

Dejar un comentario

Escribe el código Captcha que estás viendo

Fuentes XML de comentario: RSS | Atom