Analisando os ficheiros de log das suas aplica��es da internet

ArticleCategory:

Applications

AuthorImage:

[EgonWillighagen]

TranslationInfo:

original in en Logreport, Egon Willighagen

en to pt Bruno Sousa

AboutTheAuthor:

Al�m de trabalhar no projecto da Linuxfocus, O Egon est� a trabalhar para a Funda��o Logreport, que desenvolve o software lire.

Abstract:

Este artigo � o primeiro de uma s�rie acerca do lire para analisar os ficheiros de log de aplica��es servidoras de internet. N�o est� limitado a um servi�o, por exemplo o Apache, mas � um analisador integrado para muitos servi�os diferentes. Inclu�dos est�o o DNS, o WWW e o email. Este artigo explica como iniciar-se com o lire. Discute a instala��o e a configura��o para gerar relat�rios.

ArticleIllustration:

[illustration]

ArticleBody:

Introdu��o

Muitos servi�os de Internet t�m a possibilidade de criar logs da sua actividade. Por exemplo, o servidor Web Apache adiciona para cada pedido de uma p�gina web uma linha de informa��o ao ficheiro de log. Dependendo do formato do log a linha inclui informa��o como a p�gina que foi pedida, o tamanho da p�gina, qual o web browser utilizado, e muito mais. No caso do vosso servidor de email, um ficheiro log semelhante tamb�m � criado. Contem o endere�o email de quem enviou o email, quem o recebeu, o seu tamanho, etc. De facto todos os servi�os de internet t�m esta capacidade.

Estes ficheiros de log cont�m uma enorme quantidade de informa��o, mas o formato � dif�cil de interpretar � m�o. Voc� precisa de um utilit�rio que fa�a resumos dos dados para o ajudar a analisar o conte�do. No caso de servi�os www isto converte para listas TopX de web browsers, dom�nios e plataformas e um gr�fico de pedidos por tempo. Muitos contadores de entidades terceiras mostram este tipo de informa��o.

Para a maioria dos tipos de ficheiros de log, utilit�rios est�o dispon�veis para analisar o conte�do. O lire � um dos tais utilit�rios. Mas o lire � diferente de muitos outros utilit�rios. O lire � um sistema integrado que � capaz de analisar n�o um s� tipo de servi�os internet, mas muitos. E os relat�rios que resumem a informa��o interessante a partir dos ficheiros log s�o incorporados. Voc� pode adicionar tipos de relat�rios personalizados voc� mesmo.

O Lire pode ser usado de modos diferentes. Voc� pode corr�-lo a partir da linha de comandos ou ter um trabalho na crontab instalado que lhe envia os resumos por email. No caso do formul�rio pode escolher o formato de sa�da para o relat�rio. Os correntes formatos de sa�da incluem pleno texto, HTML, DocBook, PDF, e LOGML. No caso de ter um trabalho na crontab o �nico formato, at� este momento � o pleno texto.

Presentemente, os ficheiros de log das seguintes aplica��es podem ser analisados:

O lire est� em desenvolvimento, correntemente com tr�s pessoas pagas a trabalhar nele. O Suporte � uma das suas tarefas, por isso se tiver alguma necessidade especial (novos servi�os por exemplo) ou quest�es de suporte geral, deixe por favor, uma mensagem em LogReport's SourceForge site.

Instala��o

As vers�es recentes do lire podem ser obtidas do website da SourceForge . Est�o pacotes dispon�veis em tar.gz, RPM ou Debian. O Debian Woody e Sid incluem tamb�m o lire. A instala��o a partir do pacote bin�rio trabalha do modo habitual. A instala��o a partir do pacote tar.gz tamb�m trabalha como esperado:
./configure
make
make install

O programa de configura��o tem op��es:

op��o descri��o
--prefix=/some/dir Define o direct�rio raiz para a instala��o. Por defeito � /usr/local.
--with-perl5libdir=/some/dir Define o direct�rio onde os m�dulos em Perl do lire s�o instalados. Por Defeito � $prefix/share/perl5.
--with-sgmldir=/some/dir Caminho para o direct�rio de instala��o SGML. Os Valores por defeito s�o $prefix/lib/sgml e $prefix/share/sgml.

Se planeia fazer uso dos formatos de sa�da para al�m do de pleno texto, voc� precisa de utilit�rios XML como as folhas de estilo do DocBook XML, do Jade e processador XML como o Xalan ou Sablotron. Com a terceira op��o do programa de configura��o pode dizer onde os ficheiros SGML est�o instalados.

O Lire como um trabalho do cron

Depois do lire estar instalado, voc� pode utilizar o �nico programa lr_log2report. Mas se planeia utilizar o lire como um trabalho do cron, precisa de o configurar primeiro. Isto � feito com o programa lr_config. As quest�es s�o dadas com coment�rios, uma a uma:

Iniciou a script com este utilizador ?

A script precisa de correr com um utilizador que seja capaz de ler os ficheiros log. Os ficheiros log muitas vezes s�o s� lidos pelo root e os utilizadores no grupo adm. Verifique se o utilizador � capaz de ler os ficheiros log. Um exemplo:

~> cd /var/log
/var/log> ls -al apache/access.combined.log
-rw-r----- 1 root root 70902 Jul 27 13:23 apache/access.combined.log
/var/log> whoami
egonw
/var/log> groups
egonw adm dialout

Neste exemplo o utilizador corrente egonw n�o consegue ler o ficheiro de log do Apache. Somente o root consegue ler o ficheiro. O utilizador �, contudo, membro do grupo adm, ent�o podemos resolver o problema alterando o grupo root do ficheiro de log:

/var/log# whoami
root
/var/log# chgrp adm apache/access.combined.log
/var/log# ls -al apache/access.combined.log
-rw-r--r-- 1 root adm 70902 Jul 27 13:23 apache/access.combined.log

Os ficheiros tempor�rios, por defeito, n�o s�o guardados. Deseja conserv�-los?

Para um uso normal deve dizer que n�o.

Planeia utilizar um atendedor online?

O atendedor online � um utilit�rio que torna poss�vel o envio do ficheiro de log por email para este atendedor e obter dele um relat�rio. Isto � �til para administradores de redes grandes. Para o uso normal deve dizer que n�o.

Por defeito, os ficheiros tempor�rios s�o guardados em ~/tmp. Quer alterar isto?

Por defeito os ficheiros tempor�rios s�o mantidos no seu direct�rio de trabalho. Pode alterar esta defini��o respondendo que "sim" e dando o direct�rio onde quer que sejam escritos. Tenha em mente que tem de ser um direct�rio que o utilizador a correr o lire tenha permiss�es de escrita.

Quer enviar um ren�ncia com os relat�rios gerados?

Se envia os relat�rios para outros, pode querer adicionar uma ren�ncia, responda "sim" a esta quest�o. Se os relat�rios s�o para uso interno, pode responder "n�o".

Por defeito, as mensagens de estado e de erro s�o enviadas para a stderr. Quer alterar isto para o syslog?

Respondendo "sim" a esta quest�o, pode escolher em ter mensagens de erro e de informa��o enviadas pelo logger(1) e n�o pelo standard error (STDERR). Tem de ter o logger(1) do syslog instalado.

Por defeito, as mensagens de informa��o e debug s�o apagadas. Quer correr o sistema no modo de debug? Para um uso normal, deve responder que n�o.

Deseja usar as mesmas defini��es para todos os servi�os?

Para cada servi�o pode definir um endere�o de email e assunto separadamente. Por conveni�ncia pode definir uma defini��o global. Responda "sim" para definir isto por defeito:

Gostaria de usar um endere�o para quem por defeito?

Se responder "sim", o endere�o de email ser� utilizado para lhe serem enviados os relat�rios. Pode ser redefinido para alguns servi�os espec�ficos.

Gostaria de definir um cabe�alho de assunto para o mail gerado?

Se responder "sim", voc� fornece um modelo a partir do qual os assuntos do email s�o feitos. Por defeito � algo parecido com: "[LogReport] www / apache report" para os relat�rios dos ficheiros log do Apache.

Quais os servi�os est�o a correr?

Todas as quest�es seguintes pedem-lhe acerca dos servi�os que quer que o log reporte. As quest�es s�o todas semelhantes, e n�o ser� discutida uma a uma. Mas para cada servi�o � algo parecido com:

Tem nesta m�quina ficheiros log ***** recolhidos que gostaria que fossem processados?

Os programas que o lire suporta est�o agrupados nos chamados super servi�os. A primeira quest�o para cada super servi�o � sempre se est� a recolher os ficheiros log com algum programa e que deseja que o lire se reporte acerca de. Se responder "n�o", evitar� futuras quest�es acerca deste super-servi�o. Os super servi�os que o lire suporta s�o dados na introdu��o deste artigo. Existe um que n�o foi mencionado: o apachemodgzip. Este lida com os ficheiros log acerca do Apache a correr em modo compresso.

O programa de configura��o pedir-lhe-� depois quest�es acerca dos servi�os corridos um a um. Para o email, por exemplo, estes servi�os podem ser exim, postfix, qmail, sendmail. Para cada programa o lr_config pede onde o lire pode encontrar os ficheiros log. Estes podem estar compressos, porque o lire pedir-lhe-� se quer especificar o programa que deve ler os ficheiros log: zcat ou gunzip -c podem ser usados.

S�o alguns ficheiros de log ***** alternados semanalmente?

Se responder "sim" os trabalhos configurados na crontab do lire ser�o configurados para correr uma vez por semana. A outra op��o � diariamente.

Se todas as quest�es foram respondidas, escreve todas as defini��es para os ficheiros de configura��o (*/defaults.local). Estes ficheiros s�o utilizados trabalho do lire no cron. Infelizmente, em trabalho do cron n�o � activado automaticamente. Tem de o fazer voc� mesmo, digitando a linha:

~> { echo '0 10 * * * /usr/local/logreport/bin/lr_cron daily'; 
     echo '0 10 * * 0 /usr/local/logreport/bin/lr_cron weekly'; } | crontab -

Uma vez activado como este, os relat�rio(s) ser�o enviados numa base di�ria/semanal. Pode afinar a configura��o, editando os ficheiros de configura��o mencionados acima.

O Lire como um utilit�rio �nico.

O lire pode ser utilizado como um utilit�rio �nico tendo a vantagem de poder escolher outros formatos de output e a possibilidade de incluir figuras. O utilit�rio lr_log2report � corrido por um segundo programa do lire chamado lr_run:
~> lr_run lr_log2report /tmp/err www apache combined < 
   /var/log/apache/access.combined.log > apache.txt

O programa lr_log2report tem de ter pelo menos tr�s argumentos. O primeiro � um ficheiro para os quais os erros s�o redireccionados. Neste caso o /tmp/err. O segundo argumento � o super servi�o do ficheiro de log. Existem correntemente tr�s super servi�os: www, dns e email. O terceiro argumento requerido � o tipo de servi�o do ficheiro de log. Neste caso � um ficheiro Apache combinado, ent�o o servi�o � o apache. Existe um argumento adicional que � uma flag que diz que diz que o ficheiro de log do apache utiliza um formato "combinado". Como a maioria dos programas lire pode obter informa��o adicional com man:

~> man lr_log2report

Para alterar o formato de sa�da pode utilizar a op��o "-i <format>". Os formatos presentemente v�lidos s�o txt (defeito), logml (website da LogML ), DocBook XML (Reposit�rio Aberto da DocBook), HTML e PDF. Os dois �ltimos precisam de folhas de estilo do DocBook e Jade instalados. Todos os formatos, h� excep��o do pleno texto, precisam tamb�m do processador XSLT como o xsltproc da Gnome. Por exemplo para gerar um PDF:

~> lr_run lr_log2report -o pdf /tmp/err www apache combined 
   < /var/log/apache/access.combined.log > apache.pdf

Sum�rio

Este artigo introduziu, brevemente, o projecto lire e mostrou como instalar e configurar o software. O pr�ximo artigo desta s�rie descrever� o software e o modo de o usar. Por agora pode encontrar mais informa��o no nosso web site: http://www.logreport.org/.

Se quer entrar em contacto connosco, pode encontrar-nos melhor no IRC. Os programadores podem ser encontrados no canal #logreport em OpenProjects.org IRC network. Quest�es, coment�rios e pedidos de suporte s�o bem-vindos.