LOG DE SQUID …

 
LOG DE SQUID EN PYTHON PARTE I
En mi proceso de aprendizaje de python me propuse a desarrollar el siguiente script :
Script que permite obtener via SSH el log de navegacion que genera
el servidor proxy squid y copiarlo localmente al pc que lo llama o ejecuta para luego e ingresarlo en una Base de Datos PostGreSql o Sqlite y de esta manera sea mas facil realizar consultas de lo que están haciendo los usuario con el Internet , bien sea consultando las paginas a las que accedan, la fecha, las horas, los accesos denegados y otras cosas mas. La verdad confieso que comenzó siendo algo corto  y sencillo pero lo e ido puliendo y ya van algunas lineas de código 😛

– La teoría:

 
El script hace una conexión via ssh al servidor squid y realiza lo siguiente:
 
– Detiene el el squid
 
– renombra el archivo *”/var/log/squid3/access.log”* por  *access_fechahoy.log*
 
– Crea un nuevo archivo access.log
 
– Le da los permisos al nuevo archivo creado access.log
 
– Inicia de nuevo el servidor Squid
 
– Copia vía ssh el archivo  *access_fechahoy.log* desde el servidor a la maquina local que hizo el llamado.
 
– Abro el archivo local  *access_fechahoy.log*  y leo linea por linea separando de cada linea aquellas palabras que tengan un espacio entre ellas y las guardo en una lista de python Ej: 1325523994.041     12 10.121.3.34 TCP_IMS_HIT/304 291 GET http://www.panorama.com.ve/uploads/ojos(1).swf – NONE/- application/x-shockwave-flash.
 
– Limpio de ese resultado aquellos valores que devolvieron espacios sin datos es decir vacios Ej: ‘10410021221’, ‘ ‘, ‘ ‘
 
– Ahora recorro la lista y extraigo cada campo  fecha,puerto,ip,acceso, método,direccionweb.
 
– Luego transformo la hora que coloca squid  “10410021221” en formato fecha hora normal ddmmaaaa hhmmss.
 
– Mediante un metodo transformo la ip que me da squid en el nombre del pc 
 
– Por ultimo inserto el registro en postgresql o sqlite

Módulos Utilizados:

psycopg2 : Para conectarse a una base de datos PostGresql
socket : Para obtener el nombre de un pc via socket
paramiko : Para conectarse via ssh a un pc remoto
time : Para obtener la fecha actua
 
NOTA:ESTO SE EJECUTA COMO UN PROCESO EN LAS MADRUGADASl
Anuncios

~ por foxcarlos en enero 6, 2012.

Una respuesta to “ LOG DE SQUID …”

  1. Me falta publicarlo el código por aquí y en gitorious

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: