Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Sarg 2.3.6 para pfsense

    Scheduled Pinned Locked Moved Portuguese
    259 Posts 28 Posters 146.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • marcellocM
      marcelloc
      last edited by

      ccesario,

      Valeu pelo feedback e código pronto  :)

      Vou aplicar no fonte quando chegar em casa hoje.

      Treinamentos de Elite: http://sys-squad.com

      Help a community developer! ;D

      1 Reply Last reply Reply Quote 0
      • C
        ccesario
        last edited by

        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,

        Carlos

        1 Reply Last reply Reply Quote 0
        • marcellocM
          marcelloc
          last edited by

          Publiquei as atualizações, reinstala o pacote e verifique se o report gerado para o squidguard está ok.

          Treinamentos de Elite: http://sys-squad.com

          Help a community developer! ;D

          1 Reply Last reply Reply Quote 0
          • M
            mantunespb
            last edited by

            O realtime está funcionando com squidguard.. a horas está no formato errado..

            O viewreport ainda não, apesar de forçar o log..

            1 Reply Last reply Reply Quote 0
            • marcellocM
              marcelloc
              last edited by

              @mantunespb:

              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?

              @mantunespb:

              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?

              Treinamentos de Elite: http://sys-squad.com

              Help a community developer! ;D

              1 Reply Last reply Reply Quote 0
              • M
                mantunespb
                last edited by

                @marcelloc:

                @mantunespb:

                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?

                @mantunespb:

                Segue o screenshot.. a hora está certa. apenas o data.

                sarg-squidguard.jpg
                sarg-squidguard.jpg_thumb

                1 Reply Last reply Reply Quote 0
                • marcellocM
                  marcelloc
                  last edited by

                  O log do realtime está no formato correto. Ele não gera relatórios completos como o report.

                  Treinamentos de Elite: http://sys-squad.com

                  Help a community developer! ;D

                  1 Reply Last reply Reply Quote 0
                  • M
                    mantunespb
                    last edited by

                    Marcelo,

                    eu falei apenas da data (2012-04-03).. que deveria esta no formato 03-04-2012..

                    1 Reply Last reply Reply Quote 0
                    • marcellocM
                      marcelloc
                      last edited by

                      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.

                      Treinamentos de Elite: http://sys-squad.com

                      Help a community developer! ;D

                      1 Reply Last reply Reply Quote 0
                      • C
                        ccesario
                        last edited by

                        Marcello,

                        Tomei a liberdade de fazer algumas mudanças no código.
                        Veja se está de acordo, se estiver ótimo, senão pode desconsiderar :p

                        Observaçõ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,

                        Carlos

                        1 Reply Last reply Reply Quote 0
                        • V
                          vithort
                          last edited by

                          @marcelloc:

                          @vithort:

                          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

                          Images:



                          1 Reply Last reply Reply Quote 0
                          • B
                            babingthon
                            last edited by

                            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!!!

                            1 Reply Last reply Reply Quote 0
                            • C
                              ccesario
                              last edited by

                              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.

                              Carlos

                              1 Reply Last reply Reply Quote 0
                              • marcellocM
                                marcelloc
                                last edited by

                                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?

                                Treinamentos de Elite: http://sys-squad.com

                                Help a community developer! ;D

                                1 Reply Last reply Reply Quote 0
                                • B
                                  babingthon
                                  last edited by

                                  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

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    ccesario
                                    last edited by

                                    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.

                                    :)

                                    Carlos

                                    1 Reply Last reply Reply Quote 0
                                    • marcellocM
                                      marcelloc
                                      last edited by

                                      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.

                                      Treinamentos de Elite: http://sys-squad.com

                                      Help a community developer! ;D

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        ccesario
                                        last edited by

                                        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 :)

                                        date.png_thumb
                                        date.png

                                        Carlos

                                        1 Reply Last reply Reply Quote 0
                                        • V
                                          vithort
                                          last edited by

                                          @ccesario:

                                          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

                                          –

                                          @marcelloc:

                                          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!

                                          1 Reply Last reply Reply Quote 0
                                          • marcellocM
                                            marcelloc
                                            last edited by

                                            Tenta mais duas coisas:

                                            Rodar o sarg na console
                                            Limpar a pasta de report e rodar o sarg novamente.

                                            Treinamentos de Elite: http://sys-squad.com

                                            Help a community developer! ;D

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.