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.