11 diciembre 2007

Como extraer estadísticas de los logs de qmail

Supongo que este post tendrá dos partes, porque ahora los estoy analizando en línea de comando, pero lo más probable es que lo automatice.

Dan J. Bernstein además de programar qmail programó un paquete que se llama qmailanalog que sirve para extraer estadísticas de los logs de qmail, desgraciadamente la documentación de este paquete es un poco escueta por lo que cuesta familiarizarse con él.

Supongo que este artículo lo dividiré en dos partes, porque ahora estoy sacando estadísticas en línea de comandos, pero es muy probable que en un futuro no muy lejano (una hora, ...dos?) automatice el proceso para recibirlas por email.

Antes una puntualización. Qmail utiliza el formato del Tiempo Internacional Atómico, y a qmailanalog no le gusta eso especialmente, porque quiere que entendamos las fechas (y porque así lo programó su autor), por lo cual hay que hacer una conversión, y para ello hay que tener instalado el programa tai64n2tai, programa que está incluido en el paquete qlogtools.

Esta puntualización por supuesto tiene que estar presente en el caso de gestionemos los logs de qmail con multilog.

Prosigamos; para realizar la extracción podemos hacerlo al vuelo con una serie de pipes, redirecciones, etc., o bien generamos un fichero temporal y analizamos lo que tenemos en ese fichero. Yo prefiero la segunda forma, no es por nada en particular, simplemente la prefiero.

Generación del fichero temporal:
cat /var/log/qmail/qmail-send/* /var/log/qmail/qmail-pop3d/* /var/log/qmail/qmail-pop3d-ssl/* /var/log/qmail/qmail-smtpd/* | tai64n2tai | awk '{$1=substr($1,1,in
dex($1,".")+6);print}' | /usr/local/qmailanalog/bin/matchup > ficherotemporal 5>/dev/null


Hay que tener en cuenta que analizo los logs que genero en mi sistema, en otro sistema puede no existir pop-3d-ssl, o bien puede generarse un sólo fichero de log.

Ahora ya podemos tratar ese fichero temporal con las herramientas que de que nos provee qmailanalog, por ejemplo:

/usr/local/qmailanalog/bin/zsuccesses < ficherotemporal


Quizás ha quedado un poco corto y debo añadir más cosas, pero bueno, seguro que hay más entregas sobre el tratamiento de logs en qmail.

No hay comentarios: