[Python-es] Procesar archivos de SYSLOG
lopz
lowlifebob en gmail.com
Mar Abr 13 01:27:30 CEST 2010
No sé, yo no lo veo necesario usar un módulo de 3ros para parsear un
string, podrías hacerlo a base de strings y slices, o ahora que
aprendí lo básico de expresiones regulares me encantan, tiraría por
esto último.
Lo de abrir todo el fichero grande es mucho para cargarlo en memória,
tendrás que usar buffers o algo así, no estoy puesto al tema y me
gustaría saber cómo los expertos solucionarían este caso que a mi me
interesa :)
Saludos!
El día 12 de abril de 2010 19:05, César García <celord en gmail.com> escribió:
> que tal pyparsing ? veo que hasta tiene ejemplos de un archivo de log de apache
>
> http://pyparsing.wikispaces.com/
>
> El día 12 de abril de 2010 13:48, Carlos Herrera Polo
> <carlos.herrerapolo en gmail.com> escribió:
>> Estimados:
>>
>> Pienso desarrollar un pequeño programa en python que procese un gran archivo
>> de texto ASCII (200Mb aprox) el cual tiene varias lineas con informacion de
>> URLs visitadas. Este archivo lo tengo en una PC Window$ que uso como Syslog
>> y el firewall almacena ahi la informacion en linea.
>> La idea es que pueda hacer un programa que ubique en cada linea (que
>> terminan siempre con <000>) un URL, y de ser asi, almacenar en una base de
>> datos , se me ocurre Mysql lo siguiente:
>>
>> Fecha , hora, IP , y el dominio del URL, de manera que pueda luego, mediante
>> consultas a esa base de datos, obtener informacion agrupada sobre paginas
>> mas vistas, usuarios con mas trafico, etc.
>>
>> Ejemplo de archivo ASCII:
>>
>> 2010-04-12 11:15:13 Local0.Info 192.168.1.1 FW_UNO: NetScreen
>> device_id=FW_REM [Root]system-information-00769: UF-MGR: URL PERMITTED:
>> 192.168.1.41(1619)->68.142.101.11(80)
>> sunmicro-6.vo.llnwd.net/u/esd6/jscdl/jre/6u17-b80/jre/jre-6u17-windows-i586-if
>> CATEGORY: default REASON: BY_OTHER PROFILE: Acceso_Total (2010-04-12
>> 11:14:36)<000>
>> 2010-04-12 11:15:13 Local0.Notice 192.168.1.1 FW_REM: NetScreen
>> device_id=FW_REM [Root]system-notification-00257(traffic):
>> start_time="2010-04-12 11:14:23" duration=14 policy_id=27 service=http
>> proto=6 src zone=Trust dst zone=Untrust action=Permit sent=1011 rcvd=1042
>> src=10.10.10.45 dst=204.160.104.126 src_port=1932 dst_port=80 src-xlated
>> ip=200.62.154.89 port=15204 dst-xlated ip=204.160.104.126 port=80
>> session_id=45288 reason=Close - TCP RST<000>
>> 2010-04-12 11:15:14 Local0.Info 192.168.1.1 FW_REM: NetScreen
>> device_id=FW_REM [Root]system-information-00769: UF-MGR: URL PERMITTED:
>> 192.168.1.45(1928)->208.89.14.135(80) sales.liveperson.net/hc/55170107/
>> CATEGORY: default REASON: BY_OTHER PROFILE: Acceso_Total (2010-04-12
>> 11:14:37)<000>
>>
>>
>> Podrian por favor aconsejarme que modulos de Python deberia utilizar ? Se
>> que Python tiene cientos de librerias, imagino que alguna debe poder
>> identificar de una variable string, el URL, y luego el dominio...
>>
>> Mil gracias de antemano por las sugerencias.
>>
>> Saludos
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
>
>
> --
> http://celord.blogspot.com/
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
--
lopz es libre, usa --> GNU/linux gentoo
+--[RSA 2048]--+
| ..o.o=+ |
| o =o*.+ |
| . . *oO . |
| .EBoo |
| o.S |
+--[lopz.org]--+
Más información sobre la lista de distribución Python-es