Gerando estatísticas do seu servidor de email utilizando o isoqlog
Estatísticas da utilização do servidor de email são fundamentais para dimensionar e planejar o
crescimento dos servidores. Também é bom para justificar nossa presença na empresa, captaram !
crescimento dos servidores. Também é bom para justificar nossa presença na empresa, captaram !
Vamos lá
isoqlog - Instalando e configurando estatística da utilização do Email
Este artigo fala a respeito de um pequeno programinha em C que pode ser a salvação do emprego de muita gente... Estatística da utilização dos serviços de email na empresa. Saber quantas mensagens enviamos por mês e qual a taxa de crescimento são fundamentais para se planejar os upgrades nos equipamentos. Este é o papel do isoqlog. Mostrar qual o tráfego mensal de email por domínio em seu servidor. Ele é compatível com o log de diversos MTAs ( sendmail, postfix, qmail ) e apresenta as estatísticas em formato HTML, o que ajuda na hora de anexar ao relatório de viabilidade do upgrade a diretoria :-) .
Chega de enrolação e vamos ao show!
Ambiente
Estou rodando tudo em um Pentium III 700Mhz com 512MB ram, sistema operacional Slackware Linux 8, kernel 2.4.20, MTA Postfix 2.0.0.2 + amavisd-new-20021227 + SpamAssassin 2.50 + ClamAV 0.54.
Downloads
Apenas o isoqlog:
Compilando e instalando o pacote
Nada de novidades aqui OK !
cd /usr/local/src
tar xzfv /root/isoqlog-2.1.tar.gz
cd isoqlog-2.1
./configure
make
make install
tar xzfv /root/isoqlog-2.1.tar.gz
cd isoqlog-2.1
./configure
make
make install
O executável ficará em /usr/local/bin. Os arquivos de configuração em /usr/local/etc.. Os templates ficarão em /usr/local/share/isoqlog.
Configurando
O primeiro passo é acertar os arquivos de configuração, que são dois:
- isoqlog.conf - é responsável pelos parâmetros do isoqlog.
- isoqlog.domains - contém uma lista dos domínios que seu servidor de email está operando.
logtype = "postfix"
Eu optei por postfix pois é meu MTA :-) ! Mas você pode optar por qmai-multilog, qmail-syslog, sendmail e postfix .
logstore = "/var/log/maillog"
Normalmente os MTAs registram seu log ai. Consulte a documentação do seu caso isso não esteja acontecendo para saber qual o arquivo apropriado. Algumas vezes eles gravam em /var/log/messages.
domainsfile = "/usr/local/etc/isoqlod.domains"
Arquivo texto que contém a lista dos domínios que são servidos pelo seu servidor.
outputdir = "/usr/local/apache/data/isoqlogd"
Diretório onde serão gravados as páginas HTML com as estatísticas do seu MTA. Importante que esteja visível a partir do seu WEBSERVER como em www.seila.com.br/isoqlogd por exemplo.
htmldir = "/usr/local/share/isoqlog/htmltemp"
Diretório onde estão os templates para geração das páginas. Você pode inclusive se quiser alterá-las ao seu gosto para uma maior personalização. Eu não fiz isso... AINDA !
langfile = "/usr/local/share/isoqlog/lang/portuguese"
Determina que os arquivos serão gerados em português !
hostname = "mailserver.seila.com.br"
Nome da sua máquina de email.
Existem outros parâmetros mas alteração destes já basta.
Vamos criar agora o isoqlog.domains . Entre em seu editor de textos prediletos e acrescente-os. Se você for como eu e gostar de praticidade, o mesmo arquivo do postfix onde armazeno os domínios que sirvo são o do isoqlog. Você deve colocar um domínio por linha OK !
Preparando a visualização em seu Webserver.
Aqui parto do principio de que o Webserver é um Apache e que você criou a saída em um diretório enxergável a partir da raíz do seu domínio, podendo então visualizar as estatísticas com a url www.seila.com.br/isoqlog.
A raíz de seu webserver eu estou supondo que seja /usr/local/apache/data e que o diretório isoqlog foi criado dentro dele.
Tudo explicadinho, vamos aos passos.
Precisamos copiar dois diretórios para a raiz do webserver: o images e o library. Acompanhe os comandos.
cd /usr/local/src/isoqlog-2.1/isoqlog/htmltemp/
cp images /usr/local/apache/data -rf
cp library /usr/local/apache/data -rf
cp images /usr/local/apache/data -rf
cp library /usr/local/apache/data -rf
PRONTO !
Para visualizar as estatísticas, digite como root o comando:
isoqlog
Se não der nenhum pau, e todos vem bem explicado eu garanto ( tudo isso que coloquei no artigo eu fui fazendo depois que compilei, sou o ANTA ) , você terá suas estatísticas geradas e prontas para serem vistas.
Abra seu browser e digite www.seila.com.br/isoqlog e vislumbre...
Gerando as estatísticas diariamente
Acho sempre legal automatizar processos batch com o cron. Coloquei uma entrada em minha crontab para executar o comando a cada 1 hora no minuto 17. Para isso use o comando:
crontab -e
Na tela que se apresenta inclua esta linha ao final do texto
17 * * * * /usr/local/bin/isoqlog 1>/dev/null 2>/dev/null
Saia gravando ( :qw ) e por segurança mande seu cron reler os arquivos:
killall -HUP crond
Pronto !
Considerações finais
Acho importante frisar que o Webserver e o MTA devem estar na mesma máquina para isso dar certo. Como isso não é o comum, você deve então se lembrar de que o arquivo de log sempre está no servidor de email e que as estatísticas serão visualizadas sempre no servidor WEB.
Você sabe se o isoqlog tem suporte ao Exim ? No artigo você citou sendmail, postfix e qmail, será que são só esses :(
A algum tempo atrás desenvolvi um sistema "salada" de Perl, PHP com auxílio do cron para fazer algo parecido, para sendmail. O sistema ficou bem bacaninha, com gráficos de barra e pizza, além de estatísticas separadas até mesmo por usuário. No dia que eu tiver saco vou ver se disponibilizo os sources, preciso organizá-los melhor, estão meio que "só você sabe como funciona".
O artigo ficou ótimo, parabéns.