Planeamento e Administração de
Redes e Serviços
Trabalho 4 – Utilização das ferramentas Webalizer e AWStats
para a análise de utilização de recursos proxys e servidores HTTP
Segundafeira, 3 de Dezembro de 2007 Daniel Botelho (ei02001@fe.up.pt) Hugo Lopes (ei03054@fe.up.pt)Tabela de conteúdos
1.Introdução...5 2.Descrição do problema...6 3.Ferramentas Utilizadas...7 3.1.Apache...7 3.1.1.Instalação e configuração do ambiente de trabalho...7 3.2.Webalizer...8 3.2.1.Descrição...8 3.2.2.Configuração para o Apache...8 3.2.2.1.Resultados...9 3.2.3.Configuração para o Squid...14 3.2.3.1.Resultados...15 3.3.AWStats...21 3.3.1.Descrição...21 3.3.2.Instalação...21 3.3.3.Configuração para o Apache...22 3.3.3.1.Resultados...23 3.4.Calamaris...26 3.4.1.Descrição...26 3.4.2.Configuração...26 3.4.3.Resultados...27 4.Comparação entre as duas plataformas (Webalizer e AWStats)...28 5.Conclusão...29Tabela deFiguras
Figura 1: Estatísticas do Webalizer para os logs do apache ... 10
Figura 2: Estatísticas do mês de Deze m b r o ... 11
Figura 3: Estatísticas do Webalizer para o apache diárias ... 12
Figura 4: Estatísticas do Webalizer para o apache por hora ...13
Figura 5: Estatísticas do apache top URLs...14
Figura 6: Estatísticas do Squid para o apache ...16
Figura 7: Estatísticas do Squid para o apache mens ais ...17
Figura 8: Estatísticas do Squid para o apache diárias ... 18
Figura 9: Estatísticas do Squid para o apache por hora ...19
Figura 10: Estatísticas do Squid para o apache por URL... 20
Figura 11: Estatísticas do AWStats para o apache ... 23
Figura 12: Estatísticas do AWStats para o apache mens ais ... 23
Figura 13: Estatísticas do AWStats para o apache por mês ... 24
Figura 14: Estatísticas do AWStats para o apache por hora ... 25
Figura 15: Estatísticas do AWStats para o apache por URL... 25
Este trabalho foi realizado no âmbito da disciplina de Planeamento e Arquitectura de Redes e Serviços, existente no 1º semestre do 5º ano do Mestrado Integrado em Engenharia Informática e Computação. O objectivo principal deste trabalho é a sensibilização do aluno para a utilização de ferramentas baseadas na WEB para a análise de utilização de recursos: proxys HTTP e servidores HTTP. Assim deverão ser utilizadas as ferramentas de análise, Webalizer e AWStats. Estes servem para a geração de estatísticas de utilização de servidores e proxys HTTP
2. Descrição do problema
Este trabalho consiste principalmente na monitorização de um servidor e de um proxy HTTP. As ferramentas a correr, por de forma a serem obtidos os serviços indicados serão respectivamente, o Apache e o Squid. O Apache deverá então ser configurado, para permitir o acesso a mais que uma página. Para a posterior monitorização dos recursos, serão utilizadas as ferramentas Webalizer e AWStats. Estas ferramentas irão criar resultados estatísticos, através dos logs existentes no Apache, normalmente existentes na pasta /var/log/apache. No que toca ao servidor proxy, este estará a correr através do Squid. Cada vez que se aceder a uma página, os logs do Squid registarão o acesso efectuado. Como normalmente os logs do Squid são de difícil compreensão, deverá ser um executado o programa squid2common.pl para que seja possível uma mais fácil interpretação dos dados. Em relação ao servidor HTTP, as páginas mais visitadas neste, corresponderão aos sites mais visitados no proxy. As ferramentes a utilizar para esta monitorização deverão ser também o Webalizer e o AWStats.3. Ferramentas Utilizadas
3.1.ApacheO Apache foi o servidor de HTTP que usamos para este trabalho e procedemos à sua instalação usando a versão que estava disponível no repositório do debian. 3.1.1.Instalação e configuração do ambiente de trabalho Para instalar usámos o seguinte comando na consola: # aptget install apache2 Após a instalação verificamos se estava a funcionar correctamente: # wget http://localhost 17:51:37 http://localhost/ => `index.html' Resolving localhost... 127.0.0.1 Connecting to localhost|127.0.0.1|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://localhost/apache2default/ [following] 17:51:37 http://localhost/apache2default/ => `index.html' Reusing existing connection to localhost:80. HTTP request sent, awaiting response... 200 OK Length: 44 [text/html] 100%[====================================>] 44 .K/s 17:51:37 (1000.27 KB/s) `index.html' saved [44/44] De seguida criamos alguns ficheiros na directoria publica do apache para que houvesse alguma informação para ser consultada. Usamos o seguinte shell script para gerar algumas páginas sem conteúdo: #!/bin/bash for i in 1 2 3 4 5 do FILE="/var/www/index$i.html"
echo $FILE # show file name > $FILE # create files done E depois usamos o script a baixo para efectuar alguns acessos à páginas criadas: #!/bin/bash for i in 1 2 3 4 5 do PAGE="http://localhost/index$i.html" wget $PAGE firefox $PAGE done 3.2.Webalizer 3.2.1.Descrição O Webalizer é um rápido analisador de logs de um servidor web. Este produz relatórios altamente detalhados e de fácil configuração, no formato HTML, de forma a poderem ser consultados utilizando um browser web comum.
Tipicamente, as estatísticas registadas por este software inclui: hits, visitas, referências, o país dos visitantes e a quantidade de dados transferida. Estas estatísticas poderão ser vistas através de gráficos e representadas por diferentes porções de tempo, como por exemplo por dia, por hora e por mês. Esta ferramenta é OpenSource. 3.2.2.Configuração para o Apache A instalação do webalizer foi feita usando o comando aptget: # aptget install webalizer Depois configuramos o webalizer para ler os logs do apache, aterando no ficheiro ”/etc/webalizer/webalizer.conf” o seguinte: LogFile /var/log/apache2/access.log
Executamos então o webalizer: # webalizer Webalizer V2.0110 (Linux 2.6.222686) locale: C Using logfile /var/log/apache2/access.log (clf) Using default GeoIP database Creating output in /var/www/webalizer Hostname for reports is 'tux14' History file not found... Generating report for December 2007 Generating summary report Saving history information... 34 records in 4.50 seconds, 7/sec 3.2.2.1.Resultados
Após executarmos o script indicado na secção anterior procedemos consultamos então o enderço http://localhost/webalizer e estes foram os gráficos gerados:
3.2.3.Configuração para o Squid
Para instalar o squid usamos a versão que está no repositório: # aptget install squid
Não foi necessário efectuar qualquer configuração para estar a funcionar o squid, por isso não alteramos nada nas configurações.
Depois optamos por configurar o firefox para usar o proxy que estava a correr. Após a configuração do firefox, consultamos algumas páginas para termos alguns dados nos logs do Squid.
Para analisarmos os dados no webalizer, não usamos o script “squid2commom.pl” como dizia no guião, pois este não produzia resultados correctos. Em vez disso, alteramos o ficheiro de configuração do webalizer, pondo a localização dos logs do squid LogFile /var/log/squid/access.log LogType squid Voltamos a executar o webalizer para que este gerasse os relatórios: tux44:/var/log/squid# webalizer Webalizer V2.0110 (Linux 2.6.222686) locale: C Using logfile /var/log/squid/access.log (squid) Using default GeoIP database Creating output in /var/www/webalizer Hostname for reports is 'tux44' Reading history file... webalizer.hist Generating report for December 2007 Generating summary report Saving history information... 1234 records in 7.00 seconds, 176/sec 3.2.3.1.Resultados
3.3.AWStats
3.3.1.Descrição
O AWStats, tal como o Webalizer, é uma ferramenta de análise Web, podendo interpretar dados vindos de serviços provenientes da Net, tais como a Web, o Streaming Media, o Mail e o FTP. Este software faz um parse e uma análise exaustiva dos logs de um determinado servidor, produzindo assim relatórios no formato em HTML. Os dados são visíveis através de tabelas e gráficos de barras.
Este software suporta a maioria dos servidores existentes, inluindo o Apache, o WebStar, o IIS e muitos outros servidores com diferentes formatos, no que respeita aos seus logs. Esta ferramenta, tal como o Webalizer, é open source.
3.3.2.Instalação
Optamos por não instalar o AWAstats pela versão que estava disponível no repositório, pois esta tinha alguns bugs(https://bugs.launchpad.net/ubuntu/ +source/awstats/+bug/35773).
Optamos, então, por instalar a partir da versão disponível no site do fabricante.
Fizemos então download da versão 6.7 e executamos o script de configuração:
# wget http://prdownloads.sourceforge.net/awstats/awstats6.7.tar.gz # tar zxvpf awstats6.7.tar.gz
# cd awstats6.7
3.3.3.Configuração para o Apache
Para usarmos esta aplicação para visualizar os logs do apache tivemos de alterar o ficheiro /etc/apache2/apache2.conf e colocar o seguinte no fim da do mesmo:
Include /etc/apache2/awstats.conf
Depois criamos o ficheiros /etc/apache2/awstats.conf com o seguinte conteudo: Alias /awstatsclasses "/root/awstats6.7/wwwroot/classes/" Alias /awstatscss "/root/awstats6.7/wwwroot/css/" Alias /awstatsicons "/root/awstats6.7/wwwroot/icon/" ScriptAlias /awstats/ "/root/awstats6.7/wwwroot/cgibin/" Depois executamos o AWStats para gerar os logs: # /usr/local/awstats/wwwroot/cgibin/awstats.pl update config=tux14 Create/Update database for config "/etc/awstats/awstats.tux14.conf" by AWStats version 6.7 (build 1.892) From data in log file "/var/log/apache2/access.log"... Phase 1 : First bypass old records, searching new record... Direct access after last parsed record (after line 4577) Jumped lines in file: 4577 Found 4577 already parsed records. Parsed lines in file: 647 Found 0 dropped records, Found 0 corrupted records, Found 0 old records, Found 647 new qualified records. e depois acedemos ao link: # http://localhost/awstats/awstats.pl?config=tux14
3.3.3.1.Resultados
Figura 11: Estatísticas do AWStats para o apache
Figura 14: Estatísticas do AWStats para o apache por hora
3.4.Calamaris 3.4.1.Descrição Optamos por usar o Calamaris por ser simples de instalar e por gerar vários de relatórios para os logs do squid. 3.4.2.Configuração Para instalar usamos o repositório do debian: # aptget install calamaris Para usar usamos o seguinte comando:
# calamaris a F html /var/log/squid/access.log > /var/www/calamaris/index.html
3.4.3.Resultados
4. Comparação entre as duas plataformas (Webalizer e AWStats)
Ambos os softwares fazem uma estatística dos sites/páginas visitadas. Contudo, existe uma descrepância nos resultados obtidos em cada uma das plataformas. Após alguma investigação, veio ao de cima a ideia em que AWStats consegue detectar bots no acesso a cada página, enquanto o Webalizer não. Tudo isto indica que o Webalizer calcula as estatísticas tendo em conta todos os acessos, enquanto que o AWStats tem em conta se o pedido é formulado por um utilizador.
Por outro lado, poderemos ter uma mesma página que poderá ter vários endereços de IP (por exemplo redireccionamento). O AWStats detecta quando se acede por caminhos diferentes à mesma página, diminuindo assim a quantidade de erros na estatística criada.