Monitoramento Postfix · 4 min read · Sep 28, 2025
Monitoramento do Postfix Com Mailgraph E pflogsumm No Debian Etch
Monitoramento do Postfix Com Mailgraph E pflogsumm No Debian Etch
Versão 1.0
Autor: Falko Timme
Este artigo descreve como você pode monitorar seu servidor de email Postfix com as ferramentas Mailgraph e pflogsumm. O Mailgraph cria gráficos diários, semanais, mensais e anuais de emails enviados, recebidos, devolvidos e rejeitados, além de spam e vírus, se o SpamAssassin e o ClamAV estiverem integrados ao Postfix (por exemplo, usando amavisd-new). Esses gráficos podem ser acessados com um navegador, enquanto o pflogsumm (“Resumidor de Entradas de Log do Postfix”) pode ser usado para enviar relatórios da atividade do Postfix por email.
A seguir, descreverei como instalar e configurar o Mailgraph e o pflogsumm no Debian Etch.
Não dou nenhuma garantia de que isso funcionará para você!
1 Nota Preliminar
Neste tutorial, meu sistema Linux tem o endereço IP 192.168.0.100 e hospeda o site http://www.example.com com o diretório raiz /var/www/www.example.com/web e um diretório cgi-bin de /var/www/www.example.com/cgi-bin, e enviarei os relatórios do pflogsumm para o endereço de email [email protected].
2 Mailgraph
Debian Etch tem pacotes para Mailgraph e pflogsumm, então simplesmente os instalamos. Também instalamos o rrdtool que armazena os dados necessários para o Mailgraph desenhar os gráficos:
apt-get install rrdtool mailgraphAgora configuramos o pacote mailgraph assim:
dpkg-reconfigure mailgraphVocê será perguntado algumas questões:
O Mailgraph deve iniciar na inicialização? <– Sim
Arquivo de log usado pelo mailgraph: <– /var/log/mail.log
Então há também esta pergunta:
Contar email recebido como email enviado?Se você integrou um filtro de conteúdo como o amavisd (para escaneamento de spam e vírus) ao Postfix (como neste tutorial: Integrando amavisd-new Ao Postfix Para Escaneamento de Spam e Vírus), então responda Não para evitar que o Mailgraph conte seus emails duas vezes (porque o Postfix entrega emails ao amavisd que então - após a verificação bem-sucedida - entrega os emails de volta ao Postfix). Se você não usar um filtro de conteúdo, então responda Sim.
Durante a instalação, os links de inicialização do sistema para o Mailgraph são criados automaticamente, e o Mailgraph também é iniciado automaticamente, então não precisamos iniciá-lo manualmente.
Agora devemos copiar o script mailgraph.cgi (que desenha os gráficos e cria a saída para nossos navegadores web) para o diretório cgi-bin do nosso site www.example.com:
cp -p /usr/lib/cgi-bin/mailgraph.cgi /var/www/www.example.com/cgi-binO script já é executável, então não precisamos alterá-lo. Se você usar suExec para o site www.example.com, deve alterar o proprietário e o grupo de mailgraph.cgi para o apropriado.
Agora direcione seu navegador para http://www.example.com/cgi-bin/mailgraph.cgi, e você deve ver alguns gráficos. Claro, deve haver alguns emails passando pelo seu sistema antes que você veja os primeiros resultados, então tenha paciência.
Após algum tempo, seus gráficos podem parecer assim (a saída a seguir é personalizada, então não parece exatamente como a sua):

Estatísticas Diárias.
Estatísticas Semanais.
Estatísticas Mensais.
Estatísticas Anuais.Por favor, note: O Mailgraph relatará spam e vírus apenas se você tiver integrado um filtro de conteúdo como o amavisd-new ao Postfix que está configurado para usar SpamAssassin e ClamAV para marcar emails de spam e vírus. Se você não fizer isso, ainda verá gráficos, mas sem o relatório de spam e vírus.
3 pflogsumm
Para instalar o pflogsumm, executamos
apt-get install pflogsummQueremos que o pflogsumm seja executado por um trabalho cron todos os dias e envie o relatório para [email protected]. Portanto, devemos configurar nosso sistema para que ele escreva um arquivo de log de email por 24 horas, e depois inicie o próximo log de email para que possamos alimentar o log de email antigo ao pflogsumm. Portanto, configuramos o logrotate (que é o programa que rotaciona os arquivos de log do nosso sistema) assim: abra /etc/logrotate.conf e adicione a seguinte estrofe a ele, após a linha # logs específicos do sistema podem ser configurados aqui:
vi /etc/logrotate.conf| [...] # logs específicos do sistema podem ser configurados aqui /var/log/mail.log { missingok daily rotate 7 create compress start 0 } |
Há um script de logrotate em /etc/cron.daily. Este script é chamado todos os dias entre 06:00h e 07:00h. Com a configuração que acabamos de fazer, ele copiará o log atual do Postfix /var/log/mail.log para /var/log/mail.log.0 e o comprimirá, e o arquivo comprimido será /var/log/mail.log.0.gz. Ele também criará um novo /var/log/mail.log vazio, para o qual o Postfix pode registrar por mais 24 horas.
Agora criamos o script /usr/local/sbin/postfix_report.sh que invoca o pflogsumm e faz com que ele envie o relatório para [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: Estatísticas de Email" -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 |
Devemos tornar este script executável:
chmod 755 /usr/local/sbin/postfix_report.shEntão criamos um trabalho cron que chama o script todos os dias às 07:00h:
crontab -e| 0 7 * * * /usr/local/sbin/postfix_report.sh &> /dev/null |
Isso enviará o relatório para [email protected]. Ele se parece assim em um cliente de email:

4 Links
- Mailgraph: http://people.ee.ethz.ch/~dws/software/mailgraph
- pflogsumm: http://jimsun.linxnet.com/postfix_contrib.html
- RRDTool: http://oss.oetiker.ch/rrdtool
- Postfix: http://www.postfix.org
- Debian: http://www.debian.org
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.