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.