Gerando estatísticas do seu site através do log do apache com o webalizer
2,921 acessos
O webalizer é uma ótima opção para você que quer acompanhar os logs do seu site, ele gera páginas com estatísticas completas, como urls de entrada e saída, páginas mais acessadas, hits do dia, mês, hora de acessos e tudo isso ainda com gráficos de imagens, que detalham tudo isso de uma forma clara e objetiva.O webalizer é escrito em C, e analisa os logs com grande velocidade.13 mil linhas em um micro pentium 2 por ex são processadas em 1 segundo.Muitos provedores de hospedagens utilizam esta poderosa ferramente, sem perdar nenhum recurso, um deles é o famoso hpg, que gerá as páginas de estatísticas das milhôes de homepages com o webalizer =).
Fazendo o download e instalando
http://www.mrunix.net/webalizer/download.html
aqui você encontra o código fonte e binários.
http://www.megaloman.com/~hany/RPM/webalizer.html
aqui há versões em rpm
Eu utilizarei a versão source, mas caso sua distribuição seja o Debian por ex use # apt-get install webalizer ou se for redhat e preferir o rpm, baixe uma versão em rpm e a instale com:
# rpm -ivh webalizer-Xxxx.rpm
Instalando:
Depois de baixar o source do webalizer descompacte-o entre no diretório e vamos excutar os comandos:
$ tar -zxvf webalizer-2.01-10-src.tar.gz
$ ./configure –with-language=portuguese_brazil
$ make
# make install
Por padrão essa instalação irá instalar os binários em /usr/local/bin e o arquivo de configuração em /etc/.Você pode especificar outras opções através da opção ./configure –help.
Configurando o webalizer.
Como eu disse você irá gerar estatísticas através do log do servidor apache, isso é específicado no arquivo httpd.conf do seu apache a diretiva Virtual host, na linha CustomLog como no exemplo abaixo:
ServerAdmin seumail@provedor.com.br
ServerName www.linuxnarede.org
DocumentRoot /var/www/linuxnarede.org
ErrorLog /var/log/linuxnarede/logs/error_log
CustomLog /var/log/linuxnarede/logs/access_log common
Ex de arquivo de configuração do webalizer:
Altere as entradas de acordo com suas necessidades, crie o diretório /etc/webalizer e salve com o nome seudominio.conf por ex.Para cada site que você for gerar as estatísticas crie um arquivo de configuração.
# Arquivo de ex do webalizer
# Fernando Seno – nightnux – www.linuxnarede.com.br
#
# Arquivo de Log do Apache, ou seja, onde fica o access_log do dominio
LogFile /var/log/linuxnarede/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/log/linuxnarede/stats/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.linuxnarede.org
# 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=
esse é um exemplo de configuração simples, e não utiliza todas as opções do webalizer.Mas você pode conferir essas opções no arquivo de configuração do webalizer, através do webalizer.conf.
Gerando as estatíticas do seu site.
Use o comando:
# webalizer -c /etc/webalizer/seudominio.conf
a opção -c especifica qual o arquivo de configuração será análisado
feito isto é só conferir as estatísticas do seu site com seu navegador, na pasta aonde você específicou a saida html, que nesse ex foi:
OutputDir /var/log/linuxnarede/stats/html/principal
Programando a execução do webalizer no crontab
Uma opção interessante, é configurar o webalizer para ser executado em determindas horas, assim você poupa tempo e faz isso de forma automatica durante o dia.
Vamos aos passos:
Verifique se o crond, agendador de tarefas está rodando:
# ps aux | grep cron
caso ele não aparece na lista, o execute com o comando:
#crond
Agendando:
digite:
# crontab -e
isso irá adicionar uma tarefa, e será aberto na maioria das vezes o editor vi.Aperte a tecla i para entrarmos em modo de inserção e digite.
0 7 * * * webalizer -c /etc/webalizer/seudominio.conf
Tecle ESC e salve teclando
:wq
Isso significa que todo dia as 7:00 esse tarefa será executada.
É isso ae, espero ter sido claro =)