SARG = Squid Analysis Report Generator
Sarg é um utilitario gerador de relatórios sobre os arquivos de log do Squid, gera os relatorios em HTML e qualquer estação da rede ou mesmo via web tem acesso aos relatorios em um servidor web, são relatórios e gráficos ricos em detalhes.
Tutorial - Sarg - instalar e configurar em diversas distribuições, tem tópico especifico para diferencir comandos de instalação e outros detalhes peculiares a cada distro, inclue também comandos e linhas de comando, scripts e agendar execução automatica.
Lembre que precisa do Squid instalado na maquina onde vai rodar o Sarg, pode não estar rodando nem configurado, mesmo quando vai copiar os logs de outra maquina para gerar relatórios, de qualquer forma precisa do Squid instalado antes de iniciar a instalação do Sarg.
A instalação do Sarg diferencia conforme a distro, veja comandos especificos sobre a instalação no tópico sobre sua distro.
Depois de instalar o Sarg, precisa editar seu arquivo de configuração para gerar relatórios conforme suas necessidades, tem diversas opções, também depende do que consta nos logs do Squid, considere que os logs mudam conforme a configuração do squid, quando se usa autenticação deve constar o nome dos usuários nos logs, sem autenticação com certeza não tem esta informação nos logs, portanto a configuração do Sarg deve levar em conta o que tem registrado no log
Relatorios do SARG são como páginas web, requer o servidor Apache para exibir as páginas, o diretório default muda conforme a distro ou versão, portanto, requer alterações no sarg.conf ou no conf do Apache, nestes tutoriais vou configurar o SARG para salvar em diretórios default do Apache conforme instalação de cada distro, voce pode alterar as conf do Apache ou SARG, o que importa é se entenderem, o Apache achar o diretório dos relatórios e exibir as páginas.
O arquivo de configuração fica em /etc/sarg/sarg.conf, pode fazer as alterações nele diretamente com seu editor preferido ou para testes pode copiar um modelo pronto, neste documento tem varias indicações de como fazer esta troca.
Segue os passos para troca do sarg.conf no CL10, não aplique em outras distros porque o diretório default do Apache é diferente e requer alteração no sarg.conf.
cd /etc/sarg mv sarg.conf ori-sarg.conf wget http://www.zago.eti.br/modelos/sarg20.conf cp sarg20.conf sarg.conf
Gerar relatorios, execute:
sarg -f /etc/sarg/sarg.conf
Prontinho, relatorios gerados, pra acessar a partir do navegador da propria maquina ou qualquer estação estação da rede, coloque na URL o IP//squid-reports/, por exemplo: http://192.168.1.3/squid-reports/
Onde o IP 192.168.1.3 é o IP da maquina onde gerou os relatorios, precisa também do servidor web (apache) rodando.
Considere o uso de senhas para acessar estes relatorios, procure neste diretório pelo FAQ senhas.txt
Ajuda,
sarg -help sarg -x -z -x Mensagens do processo -z Mensagens de debug
Realtime do SARG. a partir da versão 2.1 tem este recurso. Através do navegador consegue ver os logs em tempo real, acompanhar o que os usuários estão acessando.
Os passos a seguir, assume que já tenha o Squid e Apache instalados nesta maquina, também tenha acesso à internet para download ou acesso aos pacotes em outro local para instalação, no final deste documento tem inidicaçoes de tutoriais para Squid e Apache.
Instalar via smart.
smart install sarg -y
Informações sobre SARG
linux:/home/zago # smart search sarg sarg - Squid Analysis Report Generator sarg-debuginfo - Squid Analysis Report Generator linux:/home/zago # smart info sarg Name: sarg Version: 2.1-10@i586 ---corta---
Informações sobre o SARG no SUSE 10 - i386
linux:/home/zago # smart search sarg sarg - Squid Analysis Report Generator sarg-debuginfo - Debug information for package sarg linux:/home/zago # smart info sarg Name: sarg Version: 2.0.8-3@i586 Priority: 0 Group: Productivity/Networking/Web/Utilities Installed Size: 682.5kB ---corta--- Também tem versão especifica para arquitetura x86_64, veja o resultado da pesquisa em instalação do SUSE 10 x86_64. suse64:~ # smart info sarg Nome: sarg Versão: 2.0.8-3@x86_64 Prioridade: 0 Grupo: Productivity/Networking/Web/Utilities Tamanho Instalado: 659.5kB ---corta---
Instalar SARG via smart
smart install sarg -y
Prontinho, sarg instalado, no SUSE 10 já vem configurado, não percisa alterar nada, para gerar relatórios, execute;
sarg -f /etc/sarg.conf
Veja o resultado;
linux:/etc # sarg -f /etc/sarg.conf SARG: Records in file: 4, reading: 100.00% sort: open failed: 110512: No such file or directory sort: As LC_TIME differs from LC_CTYPE, the results may be strange. SARG: Successful report generated on /srv/www/htdocs/squid-reports/2006Mar26-2006Mar26
Observe que deu alguns erros, mesmo assim gerou o relatorio, qualquer dia tento uma solução para eliminar estas mensagem de erro.
Acessar os relatórios, na maquina local, acesse o diretório /srv/www/htdocs/squid-reports/
ou a partir de outras maquinas, informe na URL o IP mais o diretório acima, neste formato;
.
192.168.1.3/squid-reports/
Caso não atenda suas necessidades, então edite o arquivo de configuração do SARG que fica em /etc/sarg.conf, configure a seu modo.
Caso tenha alguma dificuldade, pode tentar uma conf pronta para testar ou comparar com a sua, tem algumas conf de outros tutoriais, use somente como comparativo, utilizei a mesma configuração do CL10 e falhou,
linux:/etc # sarg -f /etc/sarg.conf *** buffer overflow detected ***: sarg terminated Aborted
Infelizmente não tenho como pesquisar sobre isto agora, em breve, mais soluções, comentarios e mais sarg.conf com outras opções de relatórios.
Os passos a seguir, assume que já tenha o Squid e Apache instalados nesta maquina, também tenha acesso à internet para download ou acesso aos pacotes em outro local para instalação, no final deste documento tem inidicaçoes de tutoriais para Squid e Apache.
Informações sobre o SARG no SUSE 10.1 - i386
Instalar SARG via smart
smart install sarg -y
Prontinho, sarg instalado, já vem configurado, não percisa alterar nada, para gerar relatórios, execute;
sarg -f /etc/sarg.conf
Veja o resultado;
opensuse101:/home/zago # sarg -f /etc/sarg.conf SARG: Records in file: 191, reading: 100.00% sort: As LC_TIME differs from LC_CTYPE, the results may be strange. SARG: Successful report generated on /srv/www/htdocs/squid-reports/2006Mar26-2006Mar26
Observe que deu alguns erros, mesmo assim gerou o relatorio, qualquer dia tento uma solução para eliminar estas mensagem de erro.
Acessar os relatórios, na maquina local, acesse o diretório /srv/www/htdocs/squid-reports/
ou a partir de outras maquinas, informe na URL o IP mais o diretório acima, neste formato;
.
192.168.1.3/squid-reports/
Caso não atenda suas necessidades, então edite o arquivo de configuração do SARG que fica em /etc/sarg.conf, configure a seu modo.
Caso tenha alguma dificuldade, pode tentar uma conf pronta para testar ou comparar com a sua, tem algumas conf de outros tutoriais, use somente como comparativo.
A melhor opção é instalar a partir do rpm da própria distro, também pode instalar a partir dos fontes, geralmente para instalar versão mais recente ou personalisar a seu modo.
Instalar programas a partir dos fontes requer o compilador apropriado para o pacote que deseja compilar. Sarg tem os fontes e "c", portanto requer o compilador "c" gcc e make, o nome destes pacotes e comando para instalar muda conforme a distro, a seguire linha de comando para instalar via smart no SUSE 10.1.
Procure pelo pacote mais recente no site do projeto, em 10.09.2006 baixei a versão do sarg-2.2.2, a seguir os comandos executados no SUSE 10.1 instalado com perfil KDE, com sarg da distro instalado, comandos a serem executados no diretório onde salvou, neste exemplo utilizei /tmp/sarg.
mkdir /tmp/sarg # copie o arquivo sarg-2.2.2.tar.gz tar -zxvf sarg-2.2.2.tar.gz cd sarg-2.2.2 # leia o arquivo README com intruções e diretivas para compilar # ./configure --enable-htmldir /srv/www/htdocs/ #falhou então vai sem diretiva ./configure make make install
Prontinho, instalado, o sarg.conf vem com todas as linhas comentadas, agora precisa editar conforme sua necessidade ou substituir o sarg.conf por outro já configurado. Local do sarg.conf.
/usr/local/sarg/sarg.conf
Linha de comando para gerar relatórios.
sarg -f /usr/local/sarg/sarg.conf
Deve retornar erro por falta de configuração e ajuste nos caminhos do servidor web, locais dos logs e outras tags.
Como ponto de partida, consulta ou teste, pode usar este sarg.conf utilizado nos comandos abaixo para substituir o da instalação.
cd /usr/local/sarg/ mv /usr/local/sarg/sarg.conf /usr/local/sarg/sarg-original.conf wget http://www.zago.eti.br/modelos/sarg222.conf cp sarg20.conf sarg.conf sarg -f /usr/local/sarg/sarg.conf
Acessar relatórios, use IP do servidor apache mais /squid/reports na URL, exemplo para servidor com ip 192.168.1.2.
http://192.168.1.2/squid-reports
Neste sarg.conf não tem muitos recursos da versão 2.2.2, ele é uma adaptação do Sarge 2.0, funciona e serve como consulta ou testes...
Depois volte o sarg.conf original para editar a seu modo.
Algumas anotações temporárias, colinha para lembrar dos detalhes nos futuros testes. Diretivas para compilar, default tem caminho diferente do SUSE
--enable-htmldir - where the www html root dir is default: /var/www/html
Falhou ao tentar compilar com esta opção.
./configure --enable-htmldir /srv/www/htdocs/ Sem a diretiva acima o diretório instalou sarg-php /usr/local/sarg/sarg-php o diretório default do apache2 fica em. /srv/www/htdocs/
Os passos a seguir, assume que já tenha o Squid e Apache instalados nesta maquina, também tenha acesso à internet para download ou acesso aos pacotes em outro local para instalação, no final deste documento tem inidicaçoes de tutoriais para Squid e Apache.
Até agora, a solução que funcionou foi com o pacote para (Red Hat EL 4 - x86_64), para instalar, tente uma destas opções, se falhar uma tente a outra.
rpm -ivh http://dag.wieers.com/packages/sarg/sarg-1.4.1-5.2.el4.rf.x86_64.rpm
Falhou, então faça o download do pacote "sarg-1.4.1-5.2.el4.rf.x86_64.rpm", procure por ele em;
http://dag.wieers.com/packages/sarg/
no diretório onde salvou, execute;
rpm -ivh sarg-1.4.1-5.2.el4.rf.x86_64.rpm
Resultado;
[root@FC5 zago]# rpm -ivh sarg-1.4.1-5.2.el4.rf.x86_64.rpm aviso: sarg-1.4.1-5.2.el4.rf.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 6b8d79e6 A preparar... ########################################### [100%] 1:sarg
Prontinho, sarg instalado, para gerar relatórios, precisa editar o arquivo de configuração do SARG que fica em /etc/sarg.conf, configure a seu modo, caso tenha alguma dificuldade, pode tentar uma conf pronta para testar ou comparar com a sua, utilizei a mesma configuração do CL10 que usa Sarg 2.0, considere que na versão mais nova pode ter mais recursos, também a minha configuração pode não atender suas necessidades, use somente como comparativo, peguei o conf do CL10 e alterei somente a tag
output_dir /var/www/html/squid
Funcionou, então vai a dica para substituir o sarg.conf da instalação pelo modelo do FAQ, veja a sequencia de comandos;
mv /etc/sarg.conf /etc/original-sarg.conf cd /etc/sarg mv sarg.conf ori-sarg.conf wget http://www.zago.eti.br/modelos/fc5-sarg.conf.txt cp fc5-sarg.conf.txt sarg.conf sarg -f /etc/sarg/sarg.conf SARG: Successful report generated on /var/www/html/squid/squid-reports/2006Mar24-2006Mar24
Na maquina local, acesse o diretório acima para cosultar o relatório, a partir de outras maquinas, informe na URL o IP mais o diretório squid, neste formato; .
192.168.1.3/squid/
Já tem a versão 2.1.1 mas não encontrei os rpm para x86_64, tentei instalar a partir do .tar.gz e falhou, veja a mensagem;
[root@FC5 sarg-2.1]# ./configure --enable-sysconfdir=/etc/sarg checking build system type... Invalid configuration `x86_64-pc-linux-gnuoldld': machine `x86_64-pc' not recognized configure: error: /bin/sh cfgaux/config.sub x86_64-pc-linux-gnuoldld failed
Tentei também com pacotes para ix86 e deu erro de arquitetura, deve funcionar em instalações ix86, exceto para x86_64, tem pacotes rpm para as demais versões do FC, procure pelo pacote do sarg em;
http://www.mack.ro/linux/sarg/
Mesmo que não conste o nome dos usuários no log do Squid, é possível gerar relatorios com nome do usuário em lugar do IP, voce deve criar uma tabela com os IP e seus respectivos nomes que vão aparecer nos relatorios gerados pelo sarg, veja este item do /etc/sarg/sarg.conf
# TAG: usertab filename # You can change the "userid" or the "ip address" to be a real user name on the rpeorts. # Table syntax: # userid name or ip address name # Eg: # SirIsaac Isaac Newton # vinci Leonardo da Vinci # 192.168.10.1 Karol Wojtyla # # Each line must be terminated with '\n' # usertab none
Altere a linha (TAG):
usertab none
Para:
usertab /etc/sarg/ip_nomes
Onde /etc/sarg/ip_nomes é um arquivo texto puro com duas colunas, a primeira com o IP e a segunda com o nome que usará na exibição do relatório com resumo de utilização, somente neste relatorio será feita a troca do IP pelo nome associado a ele, dentro do arquivo, somente um IP com nome por linha.
Crie este arquivo ip_nomes e dentro dele coloque o IP de cada maquina da tua rede, ao lado do IP coloque o nome que queira exibir nos relatorios, por exemplo:
cat /etc/sarg/ip_nomes 192.168.1.53 zago 192.168.1.6 caixa 192.168.1.38 anderson
Prontinho, a partir desta alteração, quando executar o comando:
sarg -f /etc/sarg/sarg.conf -p
Somente no relatorio inicial será feita a troca do IP pelo nome associado a ele, nos demais relatorios continua utilizando o IP.