Instalação e Configuração do Sarg no CentOS 6.3

E ai galera, aqui eu vou abordar a instalação e configuração do sarg no CentOS 6.3, o Sarg é um gerador de relatórios para o squid, a configuração dele é bem simples

Prepare o seu sistema com o seguinte script http://wiki.douglasqsantos.com.br/doku.php/confinicialsqueeze_en para que não falte nenhum pacote ou configuração.

Agora precisamos atualizar os repositórios e vamos mandar instalar o apache

yum check-update && yum install httpd -y

Agora vamos inserir o apache na incialização do sistema

chkconfig --add httpd
chkconfig httpd on

Agora vamos mandar instalar o sarg

rpm -Uvh http://wiki.douglasqsantos.com.br/Downloads/monitoring/sarg-2.3.1-1.el6.rft.x86_64.rpm

Agora vamos fazer um backup do arquivo de configuração do sarg

cp -Ra /etc/sarg/sarg.conf{,.bkp}

Agora vamos configurar o /etc/sarg/sarg.conf

vim /etc/sarg/sarg.conf
access_log /var/log/squid/access.log
title "Relatorio de Acesso a Internet"
font_face Tahoma,Verdana,Arial
graph_font /etc/sarg/fonts/DejaVuSans.ttf
header_color darkblue
header_bgcolor blanchedalmond
font_size 9px
background_color white
text_color #000000
text_bgcolor lavender
title_color green
temporary_dir /tmp
output_dir /var/www/html/sarg
resolve_ip yes
user_ip no
topuser_sort_field BYTES reverse
user_sort_field BYTES reverse
#exclude_users /etc/sarg/exclude_users
#exclude_hosts /etc/sarg/exclude_hosts
date_format e
records_without_userid ignore
lastlog 0
remove_temp_files yes
index yes
index_tree file
overwrite_report yes
records_without_userid ip
use_comma yes
mail_utility mailx
topsites_num 100
topsites_sort_order CONNECT D
index_sort_order D
exclude_codes /etc/sarg/exclude_codes
max_elapsed 28800000
report_type topusers topsites sites_users users_sites date_time denied auth_failures site_user_time_date downloads
#usertab /etc/sarg/usertab
long_url no
date_time_by bytes
charset Latin1
show_successful_message no
show_read_statistics no
topuser_fields NUM DATE_TIME USERID CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
user_report_fields CONNECT BYTES %BYTES IN-CACHE-OUT USED_TIME MILISEC %TIME TOTAL AVERAGE
topuser_num 0
download_suffix "zip,arj,bzip,gz,ace,doc,iso,adt,bin,cab,com,dot,drv$,lha,lzh,mdb,mso,ppt,rtf,src,shs,sys,exe,dll,mp3,avi,mpg,mpeg"

Agora vamos acertar a periodicidade em que o sarg-reports vai ser executado eu vou deixar ele sendo executado a cada hora

cp -Rfa /etc/cron.daily/sarg /etc/cron.hourly/

Agora vamos gerar o primeiro relatório caso já exista algum acesso vamos ter estatísticas para analisarmos.

sarg /etc/httpd/conf.d/sarg.conf 

Agora vamos comentar o arquivo de alias do sarg

sed  -i 's/^/#/' /etc/httpd/conf.d/sarg.conf

Agora precisamos reiniciar o apache

/etc/init.d/httpd restart

Seus relatórios do Sarg vão estar em http://ip_servidor/sarg

Agora vamos criar um virtualhost para o sarg

vim /etc/httpd/conf.d/sarg.conf
<VirtualHost *:80>
 ServerName mysar.douglasqsantos.com.br
 ServerAlias mysar.douglasqsantos.com.br
 DocumentRoot "/var/www/html/sarg"

 <Directory "/var/www/html/sarg">
   Options -Indexes FollowSymLinks MultiViews
   AllowOverride All
   Order Allow,deny
   Allow From All
 
        #Autenticação do Sarg
        AuthUserFile /etc/httpd/access/sarg-htpasswd
        AuthName "Sarg"
        AuthType Basic
        require valid-user
 </Directory>
 
 #Configuração dos logs do apache
 ErrorLog /var/log/httpd/sarg.douglasqsantos.com.br-error.log
 CustomLog /var/log/httpd/sarg.douglasqsantos.com.br-access.log common
 
 #Retirando a assinatura do Apache
 ServerSignature Off
 
 IndexIgnore .??* *~ *# README RCS CVS *,v *,t *
 
 # Possible values include: debug, info, notice, info, error, crit,
 # alert, emerg.
 LogLevel info
</VirtualHost>

Agora vamos criar o diretório que vai conter o arquivo de controle dos usuários que podem acessar o sarg

mkdir /etc/httpd/access/

Agora vamos gerar o usuário e a senha, aqui eu vou cadastrar o usuário sarg

htpasswd -s -c /etc/httpd/access/sarg-htpasswd sarg
New password: 
Re-type new password: 
Adding password for user sarg

Agora vamos reiniciar o apache

/etc/init.d/httpd restart

Agora já podemos acessar http://sarg.douglasqsantos.com.br ou http://ip_servidor, aqui nós precisamos informar o usuário sarg e a senha que foi definida para ele.

Referências