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.
    • 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
                          • C
                            ccesario
                            last edited by

                            @marcelloc:

                            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.

                            Sim eu tenho, e acabei de testar aqui no pfsense :)

                            Porém estou utilizando para efeitos de teste o arquivo direto do site do desenvolvedor, o  interessante é colcar esse .js no pacote :)

                            Veja as imagens em anexo.

                            sort1.png
                            sort1.png_thumb
                            sort2.png
                            sort2.png_thumb

                            Carlos

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

                              Marcello

                              Segue abaixo um novo patch, incluindo as mesmas alterações mencionadas anteriormente e mais duas opções:

                              • opção date_format
                              • sorttable

                              (o sorttable está buscando direto do site do desenvolvedor. Por favor  faça as devidas alterações necessárias)

                              Quem puder testar, fique a vontade :)

                              Lembrando que o código está baseado na ultima atualização do pacote.

                              (segue anexo os patches e a imagem da tela)

                              sarg_date.png
                              sarg_date.png_thumb
                              sarg_template.txt
                              sarg_inc.txt
                              sarg_xml.txt

                              Carlos

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

                                Não tinha entendido que o js já fazia parte das configurações do sarg.

                                Publiquei a versão 0.3 com as ultimas atualizações.

                                Deve estar disponível daqui a uns 15 minutos.

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

                                Help a community developer! ;D

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

                                  Fiz atualizaçao.. selecionei.. o padrão europeu..

                                  no relatório realtime.. ficou com caracteres estranhos no campo data.. estou usando o chrome..

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

                                    pessoal, o sarg esta "funcionando" aqui. só q esta meio estranho. conseguir gerar os relatorios, so que ta mostrando os acessos de hj as 17:00, como?? pelo q eu vi são acessos de hj mesmo, mas com a data e horario diferente. ja ate atualizei ele com a ultima versão. ele viaja no futuro é?? kkkkkkkkkkkkkkkk

                                    tava aqui pensando em apagar esse relatorio, ai como faço isso?

                                    outra coisa, como funciona esse agendamento? eu coloquei aqui de 1h, ai quer dizer q a cada 1h ele vai atualizando o relatorio do dia é? na opção "Action after sarg qual a opção marcar?

                                    tem problema ficar o sarg e lightsquid juntos?

                                    e por fim, na opção que ve os sites q foram bloqueados, aparece uns 9 links, e depois diz q tem mais uns 34 sites q nao podem ser mostrados, sera q nao teria como colocar um link com a opção de mostrar esses outros.

                                    abraços… e desculpa pelo o incomodo.

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

                                      Marcello,

                                      O XML contem um erro

                                      Está assim

                                      <option><name>American mm/dd/yy (default)</name><value>e</value></option>
                                      <option><name>European dd/mm/yy</name><value>a</value></option>
                                      <option><name>Weekly yy.ww</name><value>w</value></option>

                                      O correto é

                                      <option><name>American mm/dd/yy (default)</name><value>u</value></option>
                                      <option><name>European dd/mm/yy</name><value>e</value></option>
                                      <option><name>Weekly yy.ww</name><value>w</value></option>

                                      :)

                                      Carlos

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

                                        Valeu ccesario, já estou corrigindo. :)

                                        Encontrou mais algum problema?

                                        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, estou validando a questão do rotacionamento dos logs e restart do serviço.

                                          Parece que tem algo estranho, eu ainda não consegui identificar. (vou testar mais aqui  e lhe comunico)

                                          Outra coisa é quando é escolhido o formato de Data "Weekly" o Realtime parece não tratar esse tipo de formato. (n\Ainda não tive tempo de investigar)

                                          Veja  a imagem em anexo.

                                          sarg_date_weekly.png_thumb
                                          sarg_date_weekly.png

                                          Carlos

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

                                            olha pessoal como ta estranho sarg. ontem eu tava com um problema q não estava atualizando os relatorios. ai deixe, pra ve o q acontecia hj. ai hj deu um force update, ai fui em view report e ainda tava aparecendo so o de ontem (04-04), ai começei a atualizar apertando F5 ai mostrou o de hj (05-04), so q parece q o do dia 04 foi tbm alterado.

                                            oq pode ser isso, ou não estou sabendo configurar ele?

                                            abraços

                                            sarg.png_thumb
                                            sarg.png

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