Sarg 2.3.6 para pfsense
-
roda o sarg na console/ssh e veja o retorno do comando
veja também se existe algum conteúdo na pasta /usr/local/www/sarg-reports
-
Rodei por console o comando /var/local/etc/sarg/ e me retorna SARG: File not found: /var/squid/logs/access.log
Busquei com o find / -name access.log que voce indica em outro post e descobri a pasta em que o log está sendo gerado /var/squid/log/access.log
Agora onde eu altero a pasta para gerar o report pelo SARG? =P
Obrigado!
-
você tem o lightsquid rodando?
recentemente publicaram uma correção para esta pasta.
-
Marcelo,
Tem previsão de quando sai para o squidguard.. ?
-
você tem o lightsquid rodando?
recentemente publicaram uma correção para esta pasta.
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)
Executei pelo console o comando sarg, executou sem problemas, pude ver o serviço rodando em Services mas no final me saiu um erro:
SARG: Records in file: 4267229, reading 100.00%
SARG: cannot open /usr/local/www/sarg-reports/2012/03-04/26-03/sarg-date for writing
SARG: No such file or directorySim, tenho o lighSquid executando também.
-
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.
-
Marcelo,
Tem previsão de quando sai para o squidguard.. ?
Estou aguardando feedback dos usuarios do squidguard para saber o que colocar de opções para ele.
Se o squidguard não gera nenhum log a mais nesta versão do pacote, rode o sarg com squid mesmo.
att,
Marcello Coutinho -
Boa tarde, parabéns você é realmente o "cara", seguinte, ordenar por site está dando erro, por bytes o padrão ta rodando, valeu.
-
Marcello,
Segue abaixo algumas modificações para funcionamento do squidGuard (pelo menos no meu ambiente :P)
–- sarg.inc.ORI 2012-04-03 15:09:25.000000000 -0300
+++ sarg.inc 2012-04-03 15:30:52.000000000 -0300
@@ -100,14 +100,13 @@
mwexec('/usr/bin/killall -HUP dansguardian');
}
break;- /*case "squidguard":
- #todo
- if ($action !="xnonex"){
- log_rotate('/var/log/dansguardian/access.log');
- mwexec('/usr/local/sbin/dansguardian -r');
- }
- case "squidguard":
- if ($action =="both" || $action=="rotate")
+ mwexec('squid -k rotate');
+ if ($action =="both" || $action=="restart")
+ mwexec_bg('/usr/local/etc/rc.d/squid restart');
break;
- */
}
#mount filesystem readonly
conf_mount_ro();
@@ -138,7 +137,13 @@
$access_log = $config['installedpackages']['squid']['config'][0]['log_dir']. '/access.log';
break;
case 'squidguard':- $access_log='/var/squid/logs/access.log';
+ $access_log='/var/squid/logs/access.log';
+ if (is_array($config['installedpackages']['squid']['config']))
- if (file_exists($config['installedpackages']['squid']['config'][0]['log_dir']. '/access.log'))
- $access_log = $config['installedpackages']['squid']['config'][0]['log_dir']. '/access.log';
+
+ $squidguard_conf='/usr/local/etc/squidGuard/squidGuard.conf';
break;
}
if (!file_exists($access_log)){
@@ -146,7 +151,7 @@
log_error($error);
file_notice("Sarg", $error, "Sarg Settings", "");
}$graphs=(preg_match('/use_graphs/',$sarg['report_options'])?"yes":"no");
$anonymous_output_files=(preg_match('/anonymous_output_files/',$sarg['report_options'])?"yes":"no");
$resolve_ip=(preg_match('/resolve_ip/',$sarg['report_options'])?"yes":"no");–- sarg.template.ORI 2012-04-03 15:31:03.000000000 -0300
+++ sarg.template 2012-04-03 15:32:03.000000000 -0300
@@ -576,7 +576,7 @@
# This option was named squidguard_log_format before sarg 2.3.
# REJIK #year#-#mon#-#day# #hour# #list#:#tmp# #ip# #user# #tmp#/#tmp#/#url#/#end#
# SQUIDGUARD #year#-#mon#-#day# #hour# #tmp#/#list#/#tmp#/#tmp#/#url#/#tmp# #ip#/#tmp# #user# #end#
-#redirector_log_format #year#-#mon#-#day# #hour# #tmp#/#list#/#tmp#/#tmp#/#url#/#tmp# #ip#/#tmp# #user# #end#
+redirector_log_format #year#-#mon#-#day# #hour# #tmp#/#list#/#tmp#/#tmp#/#url#/#tmp# #ip#/#tmp# #user# #end#TAG: show_sarg_info yes|no
# shows sarg information and site path on each report bottom
Feito isso…. basca escolher o Log Settings / Proxy server como SquidGuard e mandar gerar o resultado.
ps.
Refine o código caso seja utilizável :P
-
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