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

      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

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

      Help a community developer! ;D

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

        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!

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

          você tem o lightsquid rodando?

          recentemente publicaram uma correção para esta pasta.

          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,

            Tem previsão de quando sai para o squidguard.. ?

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

              @marcelloc:

              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 directory

              Sim, tenho o lighSquid executando também.

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

                @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.

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

                Help a community developer! ;D

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

                  @mantunespb:

                  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

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

                  Help a community developer! ;D

                  1 Reply Last reply Reply Quote 0
                  • R
                    rafael.cardoso
                    last edited by

                    Boa tarde, parabéns você é realmente o "cara", seguinte, ordenar por site está dando erro, por bytes o padrão ta rodando, valeu.

                    Respect is Everything!

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

                      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

                      sarg1.png
                      sarg1.png_thumb
                      sarg2.png
                      sarg2.png_thumb

                      Carlos

                      1 Reply Last reply Reply Quote 0
                      • 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
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.