Já há um bom tempo, busco uma solução de monitoramento de acesso à Internet e relatórios com gráficos.
O
Sarg fornece exatamente isso, porém, tive algumas dificuldades na instalação de dependências para a geração dos gráficos, inclusive na versão atual (nesta data: 2.3.8), tive alguns problemas na hora da compilação, porém, depois de muito fuçar na Internet, juntando um pouco daqui e um pouco dali, obtive sucesso.
E aí está a receita de bolo.
Instalação
Instalação dos pacotes necessários:
# yum install gcc make wget httpd
Aí está o, tão chato, GD.h para os gráficos no Sarg:
# yum install gd gd-devel php-gd pcre-devel
Baixar o Sarg no diretório
tmp e instalar. Versão recente (em: 15/04/2014):
# cd /tmp/
# wget http://ufpr.dl.sourceforge.net/project/sarg/sarg/sarg-2.3.8/sarg-2.3.8.tar.gz
# tar -zxvf sarg-2.3.8.tar.gz
# cd sarg-2.3.8
# ./configure
# make
Vai dar esse erro no final na versão 2.3.8:
make error: format '%li' expects argument of type 'long int', but argument
Proceda da seguinte forma, alterar as seguinte linhas, em:
# vi /sarg-2.3.8/log.c
# (fprintf(ufile->file, "%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,ip,url,nbytes,code,elap_time,smartfilter)<=0) {
if (fprintf(ufile->file, "%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,ip,url,(int64_t)nbytes,code,elap_time,smartfilter)<=0) {
#fprintf(fp_log, "%s\t%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,user,ip,url,nbytes,code,elap_time,smartfilter);
fprintf(fp_log, "%s\t%s\t%s\t%s\t%s\t%"PRIi64"\t%s\t%ld\t%s\n",dia,hora,user,ip,url,(int64_t)nbytes,code,elap_time,smartfilter);
#printf("LEN=\t%"PRIi64"\n",nbytes);
printf("LEN=\t%"PRIi64"\n",(int64_t)nbytes);
Nas linhas acima onde tiver "nbytes", deixar assim:
(int64_t)nbytes
Configurando
sarg.conf:
# cp -Rfa /usr/local/etc/sarg.conf{,.bkp}
# vi /usr/local/etc/sarg.conf
Meu
sarg.conf (baseado em:
instalando Sarg no CentOS 6):
# ARQUIVO DE CONFIGURACAO DO SARG #
# DIRETORIO DE LOGS DO SQUID
access_log /var/log/squid/access.log
# USAR GRAFICOS
# graph_days_bytes_bar_color blue|green|yellow|orange|brown|red
graphs yes
graph_days_bytes_bar_color orange
# TITULO DO SARG
title "RELATORIOS DE ACESSO A INTERNET - SARG"
# FONTE/TAMANHO DO SITE
font_face Arial
font_size 9px
# CASO QUEIRA USAR ALGUMA LOGO
#logo_image none
#logo_text ""
#image_size 80 45
# CASO QUEIRA AJUSTAR UM PLANO DE FUNDO AO SARG
#background_image none
# SENHA UTILIZADA PARA ACESSO AO SARG
password senhasarg
# DIRETORIO DE PAGINAS DE LOGS
output_dir /var/www/html/squid-reports
# CASO QUEIRA EXCLUIR ALGUM IP DA LISTA DE ACESSO - POR EXEMPLO - IP DE COMPUTADORES DA GERENCIA #
# TAG: exclude_hosts file
# Hosts, domains or subnets will be excluded from reports.
#
# Eg.: 192.168.10.10 - exclude ip address only
# 192.168.10.0/24 - exclude full C class
# s1.acme.foo - exclude hostname only
# *.acme.foo - exclude full domain name
#
#exclude_hosts none
Execute:
# sarg -x
Acesse:
http://ip_servido_proxy/squid-reports