Postfix Monitoring · 4 min read · Jan 10, 2026

Monitoreo de Postfix Con Mailgraph Y pflogsumm

Monitoreo de Postfix Con Mailgraph Y pflogsumm

Versión 1.0
Autor: Falko Timme

Este artículo describe cómo puedes monitorear tu servidor de correo Postfix con las herramientas Mailgraph y pflogsumm. Mailgraph crea gráficos diarios, semanales, mensuales y anuales de correos enviados, recibidos, rebotados y rechazados, así como de spam y virus, si SpamAssassin y ClamAV están integrados en Postfix. Estos gráficos se pueden acceder con un navegador, mientras que pflogsumm (“Resumen de Entradas de Registro de Postfix”) se puede usar para enviar informes de la actividad de Postfix por correo electrónico.

En lo siguiente, describiré cómo instalar y configurar Mailgraph y pflogsumm en Debian Sarge, Ubuntu Dapper Drake (6.06 LTS) y Fedora Core 5.

Quiero decir primero que esta no es la única forma de configurar un sistema así. Hay muchas maneras de lograr este objetivo, pero este es el camino que elijo. No emito ninguna garantía de que esto funcione para ti!

1 Nota Preliminar

En este tutorial, mi sistema Linux tiene la dirección IP 192.168.0.100 y aloja el sitio web http://www.example.com con la raíz del documento /var/www/www.example.com/web y un directorio cgi-bin de /var/www/www.example.com/cgi-bin, y enviaré los informes de pflogsumm a la dirección de correo electrónico [email protected].

2 Debian Sarge

2.1 Mailgraph

Debian Sarge tiene paquetes para Mailgraph y pflogsumm, así que simplemente los instalamos. También instalamos rrdtool que almacena los datos que necesita Mailgraph para dibujar los gráficos:

apt-get install rrdtool mailgraph 

Se te harán algunas preguntas:

¿Debería Mailgraph iniciarse al arrancar? <– Sí
¿Qué archivo de registro debería usar mailgraph? <– /var/log/mail.log
¿Eliminar archivos RRD al purgar? <– Sí

Luego también hay esta pregunta:

¿Contar el correo entrante como correo saliente?

Si has integrado un filtro de contenido como amavisd (para escaneo de spam y virus) en Postfix (como en este tutorial: Usuarios Virtuales Y Dominios Con Postfix, Courier Y MySQL (+ SMTP-AUTH, Cuota, SpamAssassin, ClamAV)), entonces responde No para evitar que Mailgraph cuente tus correos dos veces (porque Postfix entrega correos a amavisd que luego - después de un escaneo exitoso - devuelve los correos a Postfix). Si no usas un filtro de contenido, entonces responde Sí.

Durante la instalación, los enlaces de inicio del sistema para Mailgraph se crean automáticamente, y Mailgraph también se inicia automáticamente, así que no necesitamos iniciarlo manualmente.

Ahora debemos copiar el script mailgraph.cgi (que dibuja los gráficos y crea la salida para nuestros navegadores web) al directorio cgi-bin de nuestro sitio web www.example.com:

cp -p /usr/lib/cgi-bin/mailgraph.cgi /var/www/www.example.com/cgi-bin 

El script ya es ejecutable, así que no necesitamos cambiar sus permisos. Si usas suExec para el sitio web www.example.com, debes cambiar la propiedad de mailgraph.cgi al propietario y grupo apropiados.

Ahora dirígete a tu navegador a http://www.example.com/cgi-bin/mailgraph.cgi, y deberías ver algunos gráficos. Por supuesto, debe haber algunos correos pasando por tu sistema antes de que veas los primeros resultados, así que ten paciencia.

Después de un tiempo, tus gráficos podrían verse así (la siguiente salida está personalizada, así que no se ve exactamente como la tuya):

Estadísticas Diarias. 

Estadísticas Semanales.

Estadísticas Mensuales. 

Estadísticas Anuales. 

Por favor nota: Mailgraph reportará spam y virus solo si has integrado un filtro de contenido como amavisd en Postfix que está configurado para usar SpamAssassin y ClamAV para etiquetar correos de spam y virus. Si no haces esto, aún verás gráficos, pero sin el informe de spam y virus.

2.2 pflogsumm

Para instalar pflogsumm, ejecutamos

apt-get install pflogsumm  

Queremos que pflogsumm se ejecute mediante un trabajo cron cada día y envíe el informe a [email protected]. Por lo tanto, debemos configurar nuestro sistema para que escriba un archivo de registro de correo durante 24 horas, y después inicie el siguiente registro de correo para que podamos alimentar el registro de correo antiguo a pflogsumm. Por lo tanto, configuramos logrotate (ese es el programa que rota los archivos de registro de nuestro sistema) así: abre /etc/logrotate.conf y agrega la siguiente estrofa, después de la línea # los registros específicos del sistema pueden configurarse aquí:

vi /etc/logrotate.conf

| /var/log/mail.log { missingok daily rotate 7 create compress start 0 } |

Hay un script de logrotate en /etc/cron.daily. Este script se llama todos los días entre las 06:00h y las 07:00h. Con la configuración que acabamos de hacer, copiará el registro actual de Postfix /var/log/mail.log a /var/log/mail.log.0 y lo comprimirá, y el archivo comprimido será /var/log/mail.log.0.gz. También creará un nuevo /var/log/mail.log vacío al que Postfix puede registrar durante las próximas 24 horas.

Ahora creamos el script /usr/local/sbin/postfix_report.sh que invoca pflogsumm y hace que envíe el informe a [email protected]:

vi /usr/local/sbin/postfix_report.sh

| #!/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin gunzip /var/log/mail.log.0.gz pflogsumm /var/log/mail.log.0 | formail -c -I"Subject: Estadísticas de Correo" -I"From: pflogsumm@localhost" -I"To: [email protected]" -I"Received: from www.example.com ([192.168.0.100])" | sendmail [email protected] gzip /var/log/mail.log.0 exit 0 |

Debemos hacer que este script sea ejecutable:

chmod 755 /usr/local/sbin/postfix_report.sh

Luego creamos un trabajo cron que llame al script todos los días a las 07:00h:

crontab -e

| 0 7 * * * /usr/local/sbin/postfix_report.sh &> /dev/null |

Esto enviará el informe a [email protected]. Se ve así en un cliente de correo:

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.