# rm-rf.es

Estadísticas de correo, spam y virus con Mailgraph

Mailgraph es un sistema de estadísticas que utiliza como frontend RRDtool y permite recolectar de forma gráfica el número de correos enviados y recibidos en gráficos diarios, semanales, mensuales y anuales. Básicamente tenemos un script en perl corriendo en el servidor, es el encargado de recolectar los datos (rrd), y por otra parte un script cgi a través del cual se generan y visualizan los gráficos vía web.

Instalación de Mailgraph

Mailgraph requiere tener instalado RRDtool y el módulo de Perl File::Tail. RRDTool se puede instalar tanto desde el gestor de paquetes como compilandolo a mano. Lo más rápido, desde YUM o APT:

# yum install rrdtool.i386

El módulo de perl lo podemos instalar desde cPan:

cpan> install File::Tail

Descargamos y descomprimimos la última versión desde el sitio web de mailgraph:

# wget http://mailgraph.schweikert.ch/pub/mailgraph-1.14.tar.gz
#  tar -xzvf mailgraph-1.14.tar.gz
# cd mailgraph-1.14

Ahora vamos a modificar el script base que nos ofrecen para el arranque del demonio en perl (mailgraph-init). Básicamente, tenemos que modificar las siguientes variables:

PATH=/bin:/usr/bin
MAILGRAPH_PL=/usr/local/bin/mailgraph.pl # RUTA DONDE VAMOS A COLOCAR EL SCRIPT
MAIL_LOG=/var/log/maillog # RUTA DE NUESTRO LOG DE CORREO
PID_FILE=/var/run/mailgraph.pid
RRD_DIR=/var/lib/mailgraph # RUTA DONDE ALMACENAR LOS RRD

Una vez realizado esto, movemos el script a init.d, le asignamos permisos de ejecución y lo arrancamos:

# cp mailgraph-init /etc/init.d/mailgraph
#chmod 0755 /etc/init.d/mailgraph
# /etc/init.d/mailgraph start

En este momento el demonio debería estar corriendo:

# ps aux | grep mailgraph
root     13023  1.1  0.2  14132  4128 ?        SNs  17:39   0:27 /usr/bin/perl -w /usr/local/bin/mailgraph.pl -l /var/log/maillog -d --daemon-pid=/var/run/mailgraph.pid --daemon-rrd=/var/lib/mailgraph

Ahora solo nos queda ejecutar el cgi para ver los gráficos generados mediante este script. Lo tendréis que ubicar en una ruta en la que podáis ejecutar CGI, debería tener en apache permitido lo siguiente:

<Directory /carpeta/web/script>
Options ExecCGI
</Directory>

Aseguraos también de que mod_perl está instalado para la ejecución del cgi, y que el handler está configurado en apache:

AddHandler cgi-script .cgi

Esto debería ser todo, ejecutamos el cgi desde el navegador y veremos algo tal que así, en este enlace tenéis una demo a tiempo real.

Salir de la versión móvil