Estadísticas para QMail con QMailanalog

Hace poco necesité instalar un software de estadísticas para QMail y me decidí por QMailanalog, en modo texto y muy completo aunque un poco confuso a la hora de instalarlo y con poquísima documentación disponible. El objetivo de este artículo es poner un poco de orden en lo que he descubierto googleando, los ejemplos son de una máquina corriendo Centos 6.


Instalación

Necesitamos descargar el programa (versión 0.70) y dos parches: errno para el módulo de gestión de errores y qmailanalog-sort, si también usas Centos, para modificar los comandos sort en varios scripts que devuelven error al intentar listar los resultados.

wget http://cr.yp.to/software/qmailanalog-0.70.tar.gz
tar xzf qmailanalog-0.70.tar.gz
cd qmailanalog-0.70

wget http://www.qmailrocks.org/downloads/patches/0.70-errno.patch
wget http://www.korsten.org/misc/qmailanalog-sort.patch
patch < 0.70-errno.patch
patch < qmailanalog-sort.patch

make && make setup check
cd ..

Si todo va bien el programa compilado se instalará en /usr/local/qmailanalog, para modificar esta ruta editamos antes de compilar el fichero conf-home.

Uso

Los scripts de QMailanalog se encuentran en /usr/local/qmailanalog/bin (si no hemos modificado la ruta de instalación) y se dividen en dos grupos: aquellos cuyo nombre empieza por z y aquellos cuyo nombre empieza por x. Los primeros son los que elaboran las estadísticas y los segundos extraen información:


  • zddist - Promedio de tiempos de envío
  • zdeferrals - Motivos de aplazamiento (deferral)
  • zfailures - Motivos de fallos
  • zoverall - Estadísticas básicas
  • zrecipients  - Lista de destinatarios
  • zrhosts - Hosts de los destinatarios
  • zrxdelay - Aplazamientos según el destinatario
  • zsenders - Lista de remitentes
  • zsendmail - Genera log al estilo sendmail
  • zsuccesses - Motivos de éxito
  • zsuids - Envíos por uid de remitentes


  • xqp - Extrae información sobre mensajes
  • xrecipient - Extrae información sobre destinatarios
  • xsender - Extrae información sobre remitentes


Para generar los informes es necesario preprocesar el log original con el script matchup:

awk '{$1="";$2="";$3="";$4="";$5="";print}' </ruta_logs/log/maillog | /ruta_qmailanalog/bin/matchup > processed_log

El uso de awk se hace necesario para convertir el formato de fecha y hora a TAI64N que es el que entiende QMailanalog. Una vez generado el fichero procesado podemos aplicar sobre el cualquiera de las utilidades mencionadas anteriormente, por ejemplo las estadísticas generales:

/ruta_qmailanalog/bin/zoverall < processed_log

con lo que obtenemos:

Basic statistics
qtime is the time spent by a message in the queue.
ddelay is the latency for a successful delivery to one recipient---the
end of successful delivery, minus the time when the message was queued.
xdelay is the latency for a delivery attempt---the time when the attempt
finished, minus the time when it started. The average concurrency is the
total xdelay for all deliveries divided by the time span; this is a good
measure of how busy the mailer is.
Completed messages: 566
Recipients for completed messages: 651
Total delivery attempts for completed messages: 651
Average delivery attempts per completed message: 1.15018
Bytes in completed messages: 329154457
Bytes weighted by success: 392284061
Average message qtime (s): 6.0025
Total delivery attempts: 670
  success: 651
  failure: 0
  deferral: 19
Total ddelay (s): 4240.638244
Average ddelay per success (s): 6.514037
Total xdelay (s): 3983.372451
Average xdelay per delivery attempt (s): 5.945332
Time span (days): 0.692834
Average concurrency: 0.0665439

Las utilidades de extracción de información no las he utilizado aún así que quedan para otro artículo.

Enlaces: QMail analysis tools (con ejemplos), How to integrate qms-analog for nicely log stats (para generar distintos tipos de informes con utilidades extras), Patch para lectura de fecha/hora en formato antiguo (Collecting and Analyzing QMail Logs with Qmailanalog)

No hay comentarios:

Publicar un comentario