Relatório Automatico Squid3 / SARG, Ubuntu Server 14.04 - Resolvido!

Iniciado por ruplast, 29 de Dezembro de 2015, 14:30

tópico anterior - próximo tópico

ruplast

Boa tarde, tenho um servidor proxy rodando aqui na empresa, que criei através de vários tutoriais. principalmente vídeos do "Project root".

Gostaria de automatizar a geração de relatórios dos usuários cadastrados no servidor proxy. venho pedir ajuda aqui na comunidade. lembrando sou novato nesta área.

gostaria de dividir os relatórios por categorias.  Diário, Semanal e Mensal.

desde ja agradeço a colaboração.

zekkerj

Olá ruplast,
Suponho que vc já decidiu entre usar o proxy transparente ou usá-lo autenticado, já que não há como fazer as duas coisas.
Suponho também que a parte da autenticação já está configurada e funcionando a contenco. Confere?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ruplast

Citação de: zekkerj online 29 de Dezembro de 2015, 21:16
Olá ruplast,
Suponho que vc já decidiu entre usar o proxy transparente ou usá-lo autenticado, já que não há como fazer as duas coisas.
Suponho também que a parte da autenticação já está configurada e funcionando a contenco. Confere?


Boa tarde, sim já esta todo funcionando.

- autenticação de usuários
- regras de bloqueio por palavras e por site 
- liberação de sites bloqueados indevidamente.
- relatório diário gerado  crontab  apenas com o comando sarg e horário para rodar.
etc...

zekkerj

Ótimo. Vc instalou o pacote "sarg"? Se instalou, use o comando "sudo sarg-reports today".
Depois acesse http://<seu servidor>/sarg e veja se os relatórios te servem. O resto é configuração no arquivo /etc/sarg/sarg.conf, que é mais ou menos auto-explicativo.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ruplast

Citação de: zekkerj online 30 de Dezembro de 2015, 15:58
Ótimo. Vc instalou o pacote "sarg"? Se instalou, use o comando "sudo sarg-reports today".
Depois acesse http://<seu servidor>/sarg e veja se os relatórios te servem. O resto é configuração no arquivo /etc/sarg/sarg.conf, que é mais ou menos auto-explicativo.



Desculpe por demorar a responder.

rodei o comando, ele crio o relatroio.

mas não consigo visualizar o mesmo no local   http://<seu servidor>/sarg

zekkerj

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ruplast

Citação de: zekkerj online 06 de Janeiro de 2016, 16:08
Tente então em http://localhost/sarg a partir do próprio servidor.



tambem não.

so comsigo ver os relatorio com  http://localhost.

ai aparece os relatorio gerados com o comando "sarg".

zekkerj

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ruplast

Citação de: zekkerj online 06 de Janeiro de 2016, 17:09
mas conseguiu ver?


bom.

consegui criar scripts que fazem a busca dos relatórios, diário, semanal e mensal.

mas tem um problema. ele busca um relatório de 1 semana, mas não consegue resultados, é como se não existisse informações no arquivo de log.  ele apenas consegue informações do dia de hj.

vo postar aqui os scripts para vc ver.

________________________________________________________________

daily.sh

#!/bin/bash

INICIO=$(date --date "0 day ago" +%d/%m/%Y)
FIM=$(date --date "0 day ago" +%d/%m/%Y)
sarg -f /etc/sarg/sarg.conf -d $INICIO-$FIM -o /var/www/html/daily

_____________________________________________________________

weehly.sh

#!/bin/bash

INICIO=$(date --date "7 day ago" +%d/%m/%Y)
FIM=$(date --date "0 day ago" +%d/%m/%Y)
sarg -f /etc/sarg/sarg.conf -d $INICIO-$FIM -o /var/www/html/weekly

____________________________________________________________

monthly.sh

#!/bin/bash

INICIO=$(date --date "30 day ago" +%d/%m/%Y)
FIM=$(date --date "0 day ago" +%d/%m/%Y)
sarg -f /etc/sarg/sarg.conf -d $INICIO-$FIM -o /var/www/html/monthly

_________________________________________________________

sarg.conf

access_log /var/log/squid3/access.log
output_dir /var/www/html

__________________________________________________________

Aqui estarei postando a configuração cache do meu squid.conf

#### INICIO DO CACHE ####

cache_mem 512 MB
maximum_object_size_in_momory 1024 KB
maximun_object_size 1024 MB
minimum_object_size 0 KB

cache_swap_low 90
cache_sap_high 95

cache_dir ufs /var/spool/squid3 2048 16 256
access_log /var/log/squid3/access.log squid

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
error_directory /usr/share/squid3/errors/pt

#### FIM DO CACHE ####
__________________________________________________________

estes são meus códigos,  gostaria de saber se ha alguma configuração nele que esteja apagando o arquivo de log todos os dias.  pois como falei antes, os comandos não conseguem puxar nada alem do dia atual.




ruplast

Dei mas uma olhada na net e achei sobre isto

#nano /etc/logrotate.d/squid3
__________________________________________________________
#
# Logrotate fragment for squid3
#
/var/log/squid3/*.log {
monthly
compress
delaycompress
rotate 2
missingok
nocreate
sharedscripts
prerotate
test ! -x /usr/sbin/sarg-reports | | /usr/sbin/sarg-reports
endscript
postrotate
test ! -e /var/run/squid3.pid | | test ! -x /usr/sbin/squid3 | | /usr/sbin/squid3 -k rotate
endscript
}
______________________________________________________



achei em um site que este script era responsável por algumas configurações dos logs como , access.log, cache.log etc.

na parte

/var/log/squid3/*.log {
monthly -> ( aqui estava escrito daily ) no caso pelo que entendi, todos os dias o access.log era renovado. assim, eu não conseguiria puxar um log de uma semana pois não tinha log para isto. ai alterei para monthly.

assim amanha estarei testando para saber se o problema era justamente este, e colocarei a resposta aqui no forum.

zekkerj

Calma, calma, calma... uma coisa por vez, OK? ;)

Uma vez que vc já consegue executar os relatórios, agora é hora de deixar o próprio sistema fazer isso a intervalos regulares, pelo cron. Provavelmente vc tem um arquivo "/etc/cron.d/sarg", onde vc vai ter vários comandos "sarg-reports", programados pra rodar de hora em hora, dia a dia, semana a semana, mês a mês.

A alteração do "logrotate" para o squid é necessária, senão vc não consegue fazer o relatório mensal. Mas não adianta tentar resolver tudo de uma vez, vamos degrau por degrau.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ruplast

#11
Citação de: zekkerj online 07 de Janeiro de 2016, 15:00
Calma, calma, calma... uma coisa por vez, OK? ;)

Uma vez que vc já consegue executar os relatórios, agora é hora de deixar o próprio sistema fazer isso a intervalos regulares, pelo cron. Provavelmente vc tem um arquivo "/etc/cron.d/sarg", onde vc vai ter vários comandos "sarg-reports", programados pra rodar de hora em hora, dia a dia, semana a semana, mês a mês.

A alteração do "logrotate" para o squid é necessária, senão vc não consegue fazer o relatório mensal. Mas não adianta tentar resolver tudo de uma vez, vamos degrau por degrau.


Agendei, os scripts. 

estão funcionando normalmente.

E também já consigo puxar um relatório de um dia para o outro.


problema resolvido!
Obrigado zekkerj