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 !

[ Hits: 24.199 ]

Por: Alexandre de Jesus Marcolino em 31/01/2003 | Blog: http://blog.marcolino.com.br/wordpress/


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

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.
Para obter o arquivo isoqlog.conf, copie o arquivo isoqlog.conf.dist para isoqlog.conf. Este arquivo pode ser encontrado em /usr/local/etc. No isoqlog.conf as alterações necessárias são:

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

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.

   

Páginas do artigo
   1. Vamos lá
Outros artigos deste autor

Criando VPNs entre servidores Linux sem mistérios (parte I)

SOCKS - Acessando Hosts remotos via OpenSSH

Tutorial de Instalação do ClamAV - Anti-vírus open Source

Configurando um arquivo de zona

Autenticando o Speedy Business automaticamente em firewalls Linux

Leitura recomendada

Hotwayd :: Conectando-se ao servidor POP3 do Hotmail

Zimbra no Debian 5

Postfix + Dovecot + MySQL + Squirrelmail no CentOS 5.5 32/64 bits

Servidor de e-mail com anti-vírus: MailScanner + Exim + Clamav + Cpanel/WHM

Servidor de e-mails vinculado ao AD (Postfix + Courier)

  
Comentários
[1] Comentário enviado por fabio em 31/01/2003 - 19:41h

E aí Marcolinux,

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.


[2] Comentário enviado por marcolinux em 03/02/2003 - 09:38h

Fala mano !

Fabio, realmente não tenho noticias se o isoqlog funciona com o Exim. Pela documentação do
site apenas estes que estão aí citados é que estão suportados.
Com relação aos gráficos e tal, eu também senti falta neste isoqlog. Mas nada que um
Copy e Paste das informações no OpenOffice não resolva !!

Valeu, obrigado .

[3] Comentário enviado por brpemerson em 02/02/2004 - 12:18h

Artigo muito bom... poderia explicar como limitar o acesso a página que mostra o log...
parabéns...

[4] Comentário enviado por Xxoin em 22/03/2005 - 13:23h

Isto é que é "receita de bolo".
Parabéns pela contribuição!

[5] Comentário enviado por canaman em 18/11/2005 - 17:04h

brpemerson: para fazer isto, no arquivo de configuração do apache, adicione as linhas:
###Isoqlog
alias /isoqlog /path/para/a/pasta
<Location /isoqlog>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
allow from yyy.yyy.yyy.yyy
</Location>
###Fim de isoqlog
Onde xxx.xxx.xxx.xxx e yyy.yyy.yyy.yyy sao as maquinas que podem acessar. Acho q é assim, se estiver errado alguem corrija. Para quem usa debian ou derivados é só apt-get install isoqlog. Ele pergunta qual o MTA e já coloca os arquivos em /var/www Depois disso é só por as linha acima no arquivo de configuracao do apache e pronto.

[6] Comentário enviado por menezesr em 14/12/2005 - 12:39h

Olá pessoal, fiz o procedimento, mas encotrei o seguinte problema:
isoqlog: relocation error: isoqlog: symbol __printf_chk, version GLIBC_2.3.4 not defined in file libc.so.6 with link time reference

Acho q tem algum problema de registro na LIBGC, mas não sei como resolver ainda.

Alguém pode me ajudar?
Meu servidor é um PPC64 e roda o SuSE 9.1

[7] Comentário enviado por marcolinux em 14/12/2005 - 14:12h

Meu, tentou atualizar a GLIB ?

[8] Comentário enviado por menezesr em 16/12/2005 - 09:57h

Não, pois temo que algum software deste servidor deixe de funcionar, pois ele é um servidor de produção da empresa.

[9] Comentário enviado por rafacs83 em 05/01/2006 - 09:34h

O meu isolog não gera estatistica, fica tudo zerado.
alguém me da um help ae!
valeu!


Contribuir com comentário