Montando estatísticas com o Webalizer

Montando estatísticas com o Webalizer

Hugo Cisneiros, hugo@devin.com.br

Última atualização em 29/01/2003

1. Introdução

O Webalizer é uma poderosa ferramenta escrita em C que analisa os logs do seu servidor de páginas Apache e gera páginas de estatísticas completa, incluindo os correspondetes gráficos. Por ser escrita em C, possui uma velocidade fantástica, analisando milhares de linhas de log em segundos. Retirado do seu site: “Em uma máquina Pentium 200, mais de 10 mil linhas podem ser processadas em 1 segundo, e um arquivo de 40MB sendo alisado em 15 segundos (mais de 150.000 linhas).” Então dá para perceber que ele é bem rápido né?

Além disso, ele suporta diferentes tipos de arquivos de log, incluindo o formato Comum do Apache, o Formato Combinado, e suporte aos formatos de log do wu-ftpd (xferlog) e do squid. Está disponíveis em diversas línguas, incluindo o Português do Brasil. Além de ser Software Livre, claro. Só vemos vantagens neste programa, e é para isso que criei este tutorial, para ajudar a quem precisar usá-lo para montar estatísticas de seu servidor.

2. Download e Instalação

O Download do código-fonte do programa pode ser feito através do endereço:

http://www.mrunix.net/webalizer/download.html (Código-fonte e alguns binários)
http://www.megaloman.com/~hany/RPM/webalizer.html (Pacotes RPM)

Ou se você preferir, e sua distribuição suportar, utilize um “apt-get install webalizer” para instalar o pacote.

Se você pegou o código-fonte e não um pacote já pronto (eu recomendo para organização pegar um pacote RPM/DEB já pronto, ou utilizar o apt-get), então execute os seguintes comandos para compilar o código-fonte:

./configure
make
make install

Assim o programa será instalado no seu sistema. Por padrão, se você não especificar as opções através do ./configure, ele vai instalar os arquivos dentro do diretório /usr/local (os binários no /usr/local/bin, configuração em /usr/local/etc, entre outros), então eu recomendo você especificar as opções de diretório de instalação (–prefix) no ./configure. Para saber as opções disponíveis para compilação, utilize o comando “./configure –help“.

3. Configuração

Agora teremos que configurar o webalizer, criando um arquivo de configuração. Para cada estatística de site, é necessário um arquivo de configuração. Então primeiro crie um diretório chamado /etc/webalizer, onde você colocará todos os arquivos de configuração necessários.

Colocarei aqui um exemplo de um arquivo de configuração comentado, para posterior análise, chamado de principal.conf:

# Arquivo exemplo de configuração do Webalizer
# Hugo Cisneiros, hugo@devin.com.br
#

# Arquivo de Log do Apache, ou seja, onde fica o access_log do dominio
LogFile /var/www/dominios/www.dominio.com.br/logs/access_log

# Tipo de arquivo de log, no nosso caso estamos usando o formato combinado
# do Apache
LogType clf

# Diretório à ser gerado as estatísticas, ou seja, onde vai se encontrar
# a página onde ficarão todas as estatísticas para a visualização através
# de um navegador.
OutputDir /var/www/dominios/stats.dominio.com.br/html/principal

# Modo incremental? Isso significa que ao invés de estar gerando apenas
# as estatísticas do log atual do Apache, incrementar novas informações
# do log na página. Essa opção serve para aqueles que querem manter todas
# as estatísticas e estar sempre resetando os logs para não deixar eles
# absurdamente grandes. Bom para sites com muitos acessos.
Incremental yes

# Título da página
ReportTitle Estatísticas de acesso para:

# Nome do host
HostName www.dominio.com.br


# Tipos a ser considerados como páginas pelo analizer; os que não tiverem
# esta extensão, não serão consideradas páginas visualizadas pelos
# navegadores.
PageType htm*
PageType cgi
PageType php

# Psit! Não faça output nenhum! Pois assim poderemos rodar o processo
# no crontab sem ter que ficar recebendo avisos!
Quiet yes
ReallyQuiet yes

# Quantidades de "Top Sites" a serem mostrados na página principal. Aqui
# mostra a quantidade de informações para serem mostradas na página.
TopSites 30
TopKSites 30
TopURLs 30
TopKURLs 30
TopReferrers 30
TopAgents 15
TopCountries 30
TopEntry 10
TopExit 10
TopSearch 20
TopUsers 20

# Gerar página com todas as entrys (contrario dos "Top"), ou seja, além
# da página principal, o webalizer também gera uma página separada para
# cada tipo de acesso, com *todas* as informações, e não apenas com as
# "mais acessadas", ou coisas do tipo.
AllSites yes
AllURLs yes
AllReferrers yes
AllAgents yes
AllSearchStr yes
AllUsers yes

# Esconde imagens dos relatórios, ou seja, dispensa as imagens para que
# elas não apareçam no relatório e não atrapalhem. Assim o relatório não
# gera "a página mais acessada", sendo que aponta para uma imagem.
HideURL *.gif
HideURL *.GIF
HideURL *.jpg
HideURL *.JPG
HideURL *.png
HideURL *.PNG
HideURL *.ra

# Grupos para a identificação dos navegadores, para ser mostrado na
# página de relatórios dos navegadores usados pelos visitantes.
GroupAgent MSIE Microsoft Internet Explorer
HideAgent MSIE
GroupAgent Mozilla Netscape/Mozilla
HideAgent Mozilla
GroupAgent Lynx* Lynx
HideAgent Lynx*

# Tipos de mecanismos de busca, para saber que fora os mecanismos
# de buscas que referenciaram a página.
SearchEngine yahoo.com p=
SearchEngine altavista.com q=
SearchEngine google.com q=
SearchEngine eureka.com q=
SearchEngine lycos.com query=
SearchEngine hotbot.com MT=
SearchEngine msn.com MT=
SearchEngine infoseek.com qt=
SearchEngine webcrawler searchText=
SearchEngine excite search=
SearchEngine netscape.com search=
SearchEngine mamma.com query=
SearchEngine alltheweb.com query=
SearchEngine northernlight.com qr=

Há também as tags HTMLBody e HTMLEnd, que através delas, você pode criar “templates” para suas páginas de estatísticas. Este exemplo acima foi um exemplo bem prático, completo e ao mesmo tempo simples. Ele não faz o uso de todas as opções disponíveis no Webalizer, mas atende as necessidades básicas da maioria dos administradores de páginas. Se você quiser todas as opções, experimente ver o arquivo de exemplo que vem junto com o pacote do webalizer, no caso o arquivo webalizer.conf, localizado no diretório de configuração do webalizer.

4. Rodando o webalizer

Agora vamos gerar os relatórios a partir de nossa configuração anterior. Lembrando que o arquivo de configuração que criamos anteriormente é /etc/webalizer/principal.conf:

/usr/local/bin/webalizer -c /etc/webalizer/principal.conf
(supondo que o executável foi instalado no /usr/local/bin, pois pode ser /usr/bin também)

O parâmetro -c diz para usar um certo arquivo de configuração, e é o que fizemos. Você notará que o programa é extremamente rápido, e é só assim que você vai acreditar o quão ele é rápido 🙂 Então verifique no diretório /var/www/dominios/stats.dominio.com.br/html/principal que os arquivos de estatísticas estão lá, e que se você acessar com um navegador, verá todas as estatísticas do seu site, com bons gráficos e ótima qualidade de informação.

5. Programando a geração das estatísticas

Convém lembrar que o webalizer só gera as estatísticas quando você mandar, ou seja, ele tem que ficar rodando de tempos em tempos para gerar estatísticas atualizadas dos logs do Apache. Geralmente se gera as estatísticas uma ou duas vezes por dia, e para esse tipo de necessidade, usaremos o nosso velho amigo crond.

Vamos ter como exemplo rodar o webalizer duas vezes por dia, uma vez ao meio-dia e outra vez à meia-noite. Para fazer isso no exemplo deste tutorial, é só colocar a seguinte linha no /etc/crontab:

01 12,00 * * * root /usr/local/bin/webalizer -c /etc/webalizer/principal.conf

Assim, o comando /usr/local/bin/webalizer -c /etc/webalizer/principal.conf será executado pelo usuário root às 12:01 e 00:01.

6. Finalização

E é isso! Para provedores, seria bom criar arquivos de log separados para cada domínio virtual, ou diretório, assim o webalizer poderia gerar estatísticas para cada um destes arquivos de log.

Fonte: http://www.devin.com.br/eitch/webalizer/ 

Sobre o autor

Adailton Rodrigues de Souza administrator

Deixe uma resposta

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.