você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

ISOQLOG - Gerando estatisticas de emails

Colaboração: Marcelo Garcia

Data de Publicação: 27 de Abril de 2005

Sempre é bom podermos quantificar valores de largura de banda, utilização de disco, memoria e etc. Ter valores mensuraveis, e estatisticas de comportamento dos nossos serviços ajuda ao administrador de sistemas a evitarem dores de cabeça.

Uma coisa realmente interessante de ser medida é a "fila de e-mails", ou "fluxo de emails". Você sabe hoje,

  • quem recebe mais emails na sua empresa ?
  • quem envia mais emails
  • quem utiliza mais banda recebendo ou enviando emails mais "pesados" ?
  • qual dominio recebe mais email ?
  • quantas mensagens foram recebidas no mes ?
  • quantas mensages foram enviadas ?
  • qual o total de MegaBytes, GigaBytes, ou TeraBytes gastos com email por mês ?

Eu diria que seria "impossivel", ficar escarafunchando logs para obter estas respostas. Por isto aqui vai uma sugestão - o ISOQLOG. Este software, escrito em C, funciona com a maioria dos MTA's populares - postfix - qmail - sendmail. Com este "escarafunchador" de logs voce pode gerar estatisticas em html, com respostas para todas as questões acima.

Você pode fazer download da ultima versão em http://www.enderunix.org/isoqlog/ . Quando escrevi esta dica a versão disponivel era a 2.2. A instalação é simplificada, abaixo uma sequencia de passos (sugestão) para instalação, do isoqlog com MTA postfix. Considero que você ja tenha um apache e postfix rodando.

01) Baixe o pacote em http://www.enderunix.org/isoqlog/ Descompacte-o. Feito isto, instalação padrão :

./configure
make
make install
make clean

02) Diretório para gerar os relatórios

Se você chegou sem problemas até aqui continue. Caso contrario verifique se você tem um compilador C na sua maquina, bem como todas as dependencias necessárias.

Crie a pasta nao qual serão gerados os relatorios. No meu caso :

[root@zeus isoqlog-2.2] mkdir /srv/www/default/html/isoqlog

03) Copias as imagens utilizadas pelo ISOQLOG .

O isoqlog precisa de um diretório de imagens, que por sua vez são utilizados nos relatórios. Estas imagens precisam serem coloca-las no diretorio output criado acima. Isto não é uma passo "fundamental", mas não fica uma apresentação profissional relatorio gerados faltando imagens. Alem disto nao dedicamos um tributo aos criadores do software. Portanto :

[root@zeus isoqlog-2.2]# cd isoqlog
[root@zeus isoqlog]# pwd
/home/marcelo.garcia/isoqlog-2.2/isoqlog
[root@zeus isoqlog]# cp -pr ./htmltemp/images /srv/www/default/html/isoqlog/images/

04) Configuração do isoqlog

No diretorio /usr/local/etc estão dois arquivos de configuração "demo". Copie estes arquivos, como demostrado abaixo :

[root@zeus etc]# cd /usr/local/etc
[root@zeus etc]# cp isoqlog.conf-dist isoqlog.conf
[root@zeus etc]# cp isoqlog.domains-dist isoqlog.domains

Agora vamos edita-los : Abaixo como ficarão as configurações para o meu caso

[root@zeus isoqlog-2.2]# vi /usr/local/etc/isoqlog.conf
[root@zeus isoqlog-2.2]# vi /usr/local/etc/isoqlog.domains

Isoqlog.conf====================================================
#isoqlog Configuration file

logtype     = "postfix"
logstore    = "/var/log/maillog"
domainsfile = "/usr/local/etc/isoqlog.domains"
outputdir   = "/srv/www/default/html/isoqlog"
htmldir     = "/usr/local/share/isoqlog/htmltemp"
langfile    = "/usr/local/share/isoqlog/lang/english"
hostname    = "teste.com.br"

maxsender   = 100
maxreceiver = 100
maxtotal    = 100
maxbyte     = 100
=============================================================

Isoqlog.domais==================================================
teste.com.br
=============================================================

05) Esta rodando ?

Se tudo foi feito corretamente até aqui, execute o isoqlog para ver se ele gerará relatorios:

[root@zeus isoqlog]#  /usr/local/bin/isoqlog

La dentro de /srv/www/default/html/isoqlog devem estar os reports. Você pode acessar de qualquer browse, no nosso exemplo a url seria http://www.teste.com.br/isoqlog.

Porém o ideal é você deixar o isoqlog rodando de hora em hora no servidor. Edite o seu crontab (crontab -e) e acrescente a seguinte linha :

58 * * * * /usr/local/bin/isoqlog 1>/dev/null 2>/dev/null

A cada 58 minutos o isoqlog irá atualizar as informações



Veja a relação completa dos artigos de Marcelo Garcia