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 :P

- 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
Advertisement

~ por foxcarlos en enero 6, 2012.

Una respuesta to “ LOG DE SQUID …”

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

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

 
Seguir

Get every new post delivered to your Inbox.