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: 26.446 ]

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)

Configurando BIND 9 + chroot sem mistérios

SOCKS - Acessando Hosts remotos via OpenSSH

Autenticando o Speedy Business automaticamente em firewalls Linux

openSUSE 12.1 - Instalando Oracle Java

Leitura recomendada

Autenticando e enviando e-mail diretamente através da linha de comando

iRedMail como servidor de e-mails em servidor GNU/Linux ou BSD

Postfix com autenticação em base LDAP no Slackware

Qmail + Patches + Performance Tuning, the Debian AMD64 way

Postfix + MySQL + Submission Port + Dovecot + Postfix Admin no CentOS 6.3

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts