Sarg 2.3.6 para pfsense
-
ccesario,
Valeu pelo feedback e código pronto :)
Vou aplicar no fonte quando chegar em casa hoje.
-
Se alguém mais puder testar, seria ótimo :)
Marcello, só mais uma coisa.
O squidGuard não tem rotate, e investigando o pacote vi um script que "implementa" isso.
Talvez seja interessante utilizá-lo, por favor mude as linhas do rotate de
case "squidguard":
if ($action =="both" || $action=="rotate")
mwexec('squid -k rotate');para
case "squidguard":
if ($action =="both" || $action=="rotate") {
mwexec('squid -k rotate');
mwexec('/usr/local/etc/rc.d/squidGuard_logrotate');
}att,
-
Publiquei as atualizações, reinstala o pacote e verifique se o report gerado para o squidguard está ok.
-
O realtime está funcionando com squidguard.. a horas está no formato errado..
O viewreport ainda não, apesar de forçar o log..
-
O realtime está funcionando com squidguard.. a horas está no formato errado..
Esta com as mesmas informações ou mostrando uma tela desconfigurada? você pode mandar um screenshot?
O viewreport ainda não, apesar de forçar o log..
Somente os novos reports vão aparecer no formato novo, você conseguiu simular isso?
-
O realtime está funcionando com squidguard.. a horas está no formato errado..
Esta com as mesmas informações ou mostrando uma tela desconfigurada? você pode mandar um screenshot?
Segue o screenshot.. a hora está certa. apenas o data.
-
O log do realtime está no formato correto. Ele não gera relatórios completos como o report.
-
Marcelo,
eu falei apenas da data (2012-04-03).. que deveria esta no formato 03-04-2012..
-
Esta é a forma que ele gera o realtime, se existir opção para alterar isso no arquivo de configuração e coloco na gui, mas sinceramente acho que a forma que está não atrapalha a visualização.
-
Marcello,
Tomei a liberdade de fazer algumas mudanças no código.
Veja se está de acordo, se estiver ótimo, senão pode desconsiderar :pObservações
- Eu coloquei o rotacionador de logs que você implementou, pois aquele script é meio "tosco", porém o instalador do squidGuard usa ele no cron. Não sei qual a melhor forma.
- Quando escolhido a ação "rotacionar e restartar" , apenas rotacionava e não restartava os servicos.
- Defini algumas variáveis que estão sendo utilizadas em mais de um local.
- E algumas mensagens a serem geradas no log.
- O patch está baseado na sua última publicação do código.
Testei aqui e está funcionando perfeitamente.
Obrigado
--- sarg.inc.ORI 2012-04-04 09:06:31.000000000 -0300 +++ sarg.inc 2012-04-04 10:38:56.000000000 -0300 @@ -32,6 +32,15 @@ */ /* ========================================================================== */ +// STATIC VARS + +$squid_rc='/usr/local/etc/rc.d/squid.sh'; +$squidguard_config='/usr/local/etc/squidGuard/squidGuard.conf'; +$squidguard_block_log='/var/squidGuard/log/block.log'; +$dansguardian_config='/usr/local/etc/dansguardian/dansguardian.conf'; +$dansguardian_log='/var/log/dansguardian/access.log'; + +// END STATIC VARS function sarg_start() { global $g, $config; @@ -68,7 +77,8 @@ rename ($log_file,$log_file.".0"); } function run_sarg($id=-1) { - global $config, $g; + global $config, $g; + global $squid_rc, $squidguard_config, $squidguard_block_log, $dansguardian_config, $dansguardian_log; #mount filesystem writeable conf_mount_rw(); $cmd = "/usr/local/bin/sarg"; @@ -87,29 +97,34 @@ if (is_array($config['installedpackages']['sarg'])) switch ($config['installedpackages']['sarg']['config'][0]['proxy_server']){ case "squid": - if ($action =="both" || $action=="rotate") - mwexec('squid -k rotate'); - if ($action =="both" || $action=="restart") - mwexec_bg('/usr/local/etc/rc.d/squid restart'); + if (($action =="both") || ($action=="rotate")) { + mwexec('squid -k rotate'); + log_error('executing squid log rotate after sarg.'); + } + if (($action =="both") || ($action=="restart")) { + if (file_exists($squid_rc)){ + mwexec_bg($squid_rc.' restart'); + log_error('restarting squid after sarg.'); + } + } break; case "dansguardian": if (preg_match('/\w+/',$action) && $action !="none"){ - log_rotate('/var/log/dansguardian/access.log'); + log_rotate($dansguardian_log); log_error('restarting dansguardian after sarg and log rotate.'); - #mwexec('/usr/local/etc/rc.d/dansguardian restart'); mwexec('/usr/bin/killall -HUP dansguardian'); } break; case "squidguard": - if ($action =="both" || $action=="rotate") { + if (($action =="both") || ($action=="rotate")) { + log_rotate($squidguard_block_log); mwexec('squid -k rotate'); - if (file_exists('/usr/local/etc/rc.d/squidGuard_logrotate')){ - mwexec('/usr/local/etc/rc.d/squidGuard_logrotate'); - } + log_error('executing squid and squidGuard log rotate after sarg.'); } - if ($action =="both" || $action=="restart") { - if (file_exists('/usr/local/etc/rc.d/squid')){ - mwexec_bg('/usr/local/etc/rc.d/squid restart'); + if (($action =="both") || ($action=="restart")) { + if (file_exists($squid_rc)){ + mwexec_bg($squid_rc.' restart'); + log_error('restarting squid after sarg.'); } } break; @@ -119,7 +134,8 @@ } function sync_package_sarg() { - global $config, $g; + global $config, $g; + global $squid_rc, $squidguard_config, $squidguard_block_log, $dansguardian_config, $dansguardian_log; $update_conf=0; #mount filesystem writeable conf_mount_rw(); @@ -130,13 +146,13 @@ $sarg=$config['installedpackages']['sarg']['config'][0]; switch ($sarg['proxy_server']){ case 'dansguardian': - $access_log='/var/log/dansguardian/access.log'; - $dansguardian_conf='/usr/local/etc/dansguardian/dansguardian.conf'; + $access_log=$dansguardian_log; + $dansguardian_conf=$dansguardian_config; $dansguardian_filter_out_date="dansguardian_filter_out_date on"; $squidguard_conf='squidguard_conf none'; break; case 'squidguard': - $squidguard_conf='squidguard_conf /usr/local/etc/squidGuard/squidGuard.conf'; + $squidguard_conf='squidguard_conf '. $squidguard_config; $redirector_log_format='redirector_log_format #year#-#mon#-#day# #hour# #tmp#/#list#/#tmp#/#tmp#/#url#/#tmp# #ip#/#tmp# #user# #end#'; #Leve this case without break to include squid log file on squidguard option case 'squid':
att,
-
Encontrei o arquivo sarg.conf novamente com o find / -name sarg.conf (preguiça de pensar!!! - haha) e mudei a rota /var/squid/log/access.log (estava log e nao logs)
O sarg.conf é gerado automaticamente, sua alteração vai sumir assim que você apertar o botão save na interface grafica do pacote.
Esta difereça de pastas já foi corrigida no lightsquid, atualiza este pacote primeiro e depois aguarda uns 15 minutos para atualizar o sarg.
Publiquei algumas alterações agora, incluindo a verificação da pasta de logs na configuração do squid.
Já consigo monitorear pelo Realtime, agora continuo com o mesmo erro quando acesso o View Report:
Warning: file_get_contents(/usr/local/www/sarg-reports/index.html): failed to open stream: No such file or directory in /usr/local/www/sarg_frame.php on line 41 -
tou com o mesmo erro do vithort…
Warning: file_get_contents(/usr/local/www/sarg-reports/index.html): failed to open stream: No such file or directory in /usr/local/www/sarg_frame.php on line 41
e olhando nesse diretorio /usr/local/www/sarg-reports, nao tem esse tal index.html nao. estranho!!!
-
Pessoal, tentem marcar a opção
Generate the index tree by file (on) e depois forçar o sarg gerar o relatório.
E também vejam se existe algo dentro da pasta /usr/local/www/sarg-reports/
No console execute ls /usr/local/www/sarg-reports/ para verificação.
-
Esta mensagem de erro já tem um tratamento melhor e o pacote agora verifica a existencia do arquivo de log.
Reinstala o pacote, volta na gui e aplica novamente as configurações.
Veja em system -> logs se o sarg está retornando erro na execução.
Ultimo ponto: você já criou e conferiu o agendamento(schedule) do report?
-
BELEZAAAAAAAAAAA ccesario, fiz o q vc pediu, ai mostrou os relatórios. show de bola ;D ;D ;D
cara, no sarg tem como ve os sites q o micro acessou e os bloqueados neh?? aonde eu poderia ve, pq ja procurei aqui e nada.
vlw
-
Babingthon, Sim é possível. É exibido um link com as páginas negadas.
Marcello,
Já experimentou utilizar a opção sorttable do sarg ?
para efeito de teste,
sorttable http://www.kryogenix.org/code/browser/sorttable/sorttable.js
Funciona bem.
:)
-
Você já tem isso funcionando no sarg? O cino me pediu a mesma coisa no forum internacional.
Vou olhar isso hoje a noite se tiver tempo.
-
Marcello,
Sobre alguns dos posts anteriores, referente a data, basta mudar o parametro do sarg.conf
TAG: date_format
Date format in reports: e (European=dd/mm/yy), u (American=mm/dd/yy), w (Weekly=yy.ww)Por default é u, mudando para e resolve o problema :)
-
Pessoal, tentem marcar a opção
Generate the index tree by file (on) e depois forçar o sarg gerar o relatório.
E também vejam se existe algo dentro da pasta /usr/local/www/sarg-reports/
No console execute ls /usr/local/www/sarg-reports/ para verificação.
Valeu a dica ccesario!
Já nao exibe a mensagem de erro, mas também nao mostra reporte algum mesmo depois de forcar o UPDATE:
Verifiquei também e tem algumas pastas e arquivos na pasta sarg-reports
–
Esta mensagem de erro já tem um tratamento melhor e o pacote agora verifica a existencia do arquivo de log.
Reinstala o pacote, volta na gui e aplica novamente as configurações.
Veja em system -> logs se o sarg está retornando erro na execução.
Ultimo ponto: você já criou e conferiu o agendamento(schedule) do report?
Verifiquei se gera erro a execucao do SARG e nao sai nenhum erro no LOG.
Vou remover e voltar a instalar o sarg e testar… aviso os resultados.Obrigado!
-
Tenta mais duas coisas:
Rodar o sarg na console
Limpar a pasta de report e rodar o sarg novamente.