Inicial > Squid > SQStat – Monitorando acessos no Squid em tempo real

SQStat – Monitorando acessos no Squid em tempo real

O Squid Status (SQStat) é uma ferramenta desenvolvida em PHP que permite verificar, em tempo real, todo o tráfego existente no servidor Proxy . Com isso é possível monitorar o consumo de banda, bem como links acessados por usuários ou hosts na rede.
Para obter as informações de acesso, a ferramente utiliza o protocolo cachemgr, como pré-requisitos só são necessários um servidor web (Apache2 no caso), PHP (4 ou superior) e o Squid funcionando. Mais simples que a explicação só mesmo a instalação.

O primeiro passo é baixar a ferramenta, na raiz do servidor web (/var/www/) execute o comando:

# wget -c http://samm.kiev.ua/sqstat/sqstat-1.20.tar.gz

Agora, escompacte o arquivo:

# tar -zxvf sqstat-1.20.tar.gz

Acesse o diretório criado:

# cd sqstat

Renomeie o arquivo config.inc.php.defaults para config.inc.php

# mv  config.inc.php.defaults config.inc.php

Edite o arquivo:

# vim config.inc.php

Altere os sequintes parâmetros

    • $squidhost[0]=”” : IP do servidor Proxy;
    • $squidport[0]=”” : Porta do Proxy;
    • $resolveip[0]=” “: se a opção for TRUE, o SQStat utiliza nomes das máquinas ao invés do IP;
    • $group_by[0]=””: os acessos podem ser agrupados por máquina (host) ou nome de usuário (username).

Nota: A opção username só funciona na versão 2.6 ou superior do Squid e para proxies com autenticação.

Feito isso, vamos ajustar as permissões do Squid para leitura do cache. Edite o arquivo de configuração:
# vim /etc/squid/squid.conf
Adicione as seguintes linhas:
acl manager proto cache_object 
acl webserver src 10.0.0.1/255.255.255.255 
http_access allow manager webserver 
http_access deny manager

Nota: O IP na ACL webserver deve ser o mesmo indicado no parâmetro squidhost no arquivo do SQStat.

Feito isso é necessário reiniciar o Squid para que as altereções sejam aplicadas, o SQStat pode ser  acessado através do endereço:

http://ip-do-servidor/sqstat/sqstat.php
Site oficial da ferramenta: http://samm.kiev.ua/sqstat/
Categorias:Squid Tags:,
  1. @rodrigosjc
    07/11/2012 às 14:44

    Estou com um probleminha de acesso ao sqstat
    error 110 conection time out
    se eu digito 192.168.0.1/sqstat aparece as pastas inclusive a sqstat.php
    mas se digito endereço completo da erro 110 conection time out.
    Será que poderia me ajudar ?
    Agradeço desde já \o

    • 07/11/2012 às 15:03

      Rodrigo tentei simular o erro aqui, consegui um 403 e um 111 alterando os arquivos de configuração, mas nada do 110. Tem como você enviar suas configurações? O PHP instalado está em qual versão?

  2. 30/04/2013 às 23:22

    Bem interessante, vou testar.

  3. Sócrates
    07/07/2014 às 15:14

    SqStat error
    Error (1): Cannot get data. Server answered: HTTP/1.0 407 Proxy Authentication Required
    Alguém sabe resolver??
    Squid 3.2 autenticado com AD

    • 07/07/2014 às 15:23

      O endereço do servidor está liberado no proxy?

      • Sócrates
        07/07/2014 às 15:28

        acho que sim.
        se for a acl webserver ip do servidor está sim.
        Tem alguma ideia de como resolvo isso?
        Meu proxy está autenticado no AD minhas acls são por grupos do AD.
        Obrigado pela atenção.

      • 07/07/2014 às 15:41

        Não tem nenhuma outra regra bloqueando o acesso ao servidor pelo domínio ou ip? No log do squid dá algum DENIED neste endereço?

      • Sócrates
        07/07/2014 às 15:49

        No log não mostra nenhum erro ou Denid não.
        Será que é pelo fato do meu squid estar autenticado com AD?
        Eu uso autenticação NTLM via Kerberus configurado com samba e Winbind.
        o Squid lê os grupos do AD atraves do Wbinfo.pl
        Parece que é como se fosse algum dado de autenticação que falta-se para ler o cache.
        Mas não sei do que se trata, é a primeira vez que estou tentando utilizar o sqstat.
        Agradeço muito sua atenção, e ficaria muito grato se consegui-se me ajudar a solucionar isso.
        Aguardo contato.
        Abraço.

        Segue meu squid.conf
        hierarchy_stoplist cgi-bin ?
        acl QUERY urlpath_regex cgi-bin \?
        no_cache deny QUERY
        cache_mem 32 MB
        cache_mgr socratesaugusto@hotmail.com
        maximum_object_size 12000 KB
        minimum_object_size 0 KB
        cache_swap_low 90
        cache_swap_high 95
        cache_dir ufs /var/cache/squid 4096 16 256
        cache_access_log /var/log/squid3/access.log
        cache_log /var/log/squid3/cache.log
        cache_store_log /var/log/squid3/store.log
        pid_filename /var/log/squid3/squid.pid
        emulate_httpd_log on
        # Limita Upload a 10MB
        request_body_max_size 10240 KB
        request_header_max_size 10 KB
        uri_whitespace strip
        visible_hostname ZEUS-PROXY-SERVER
        auth_param ntlm program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
        auth_param basic program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-basic
        auth_param basic children 20
        auth_param ntlm children 20
        #auth_param ntlm children 20 startup=0 idle=1
        auth_param ntlm keep_alive on
        auth_param basic credentialsttl 8 hour
        auth_param basic realm Proxy Server

        external_acl_type grupo_ad ttl=3600 children=800 %LOGIN /usr/lib/squid3/wbinfo_group.pl

        acl grp-professores external grupo_ad professores
        acl grp-secretaria external grupo_ad secretaria
        acl grp-proxy-vip external grupo_ad proxy_vip
        acl grp-alunos external grupo_ad alunos
        acl sites_negados url_regex -i “/etc/squid3/regras/negados”
        acl downloads urlpath_regex -i “/etc/squid3/regras/downloads”
        acl sites_liberados url_regex -i “/etc/squid3/regras/liberados”
        acl biblioteca_consultas arp “/etc/squid3/regras/biblioteca_consultas”
        http_access deny sites_negados
        http_access allow grp-professores
        http_access allow grp-secretaria
        http_access allow grp-proxy-vip
        http_access deny downloads
        http_access allow grp-alunos
        http_access deny biblioteca_consultas !sites_liberados
        http_access allow sites_liberados
        dns_nameservers 10.10.250.2
        #dns_nameservers 8.8.8.8 8.8.4.4 208.67.222.222 208.67.220.220
        #Local onde esta o executavel DISKD, que aumenta o desempenho do cache
        diskd_program /usr/lib/squid3/diskd
        acl manager proto cache_object
        acl webserver src 10.10.250.128/24
        http_access allow manager webserver

        acl localhost src 127.0.0.1/32 ::1
        #acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
        acl SSL_ports port 443 563 # https
        acl Safe_ports port 80 # http
        acl Safe_ports port 21 # ftp
        acl Safe_ports port 443 # https
        acl Safe_ports port 70 # gopher
        acl Safe_ports port 210 # wais
        acl Safe_ports port 1025-65535 # unregistered ports
        acl Safe_ports port 280 # http-mgmt
        acl Safe_ports port 488 # gss-http
        acl Safe_ports port 591 # filemaker
        acl Safe_ports port 777 # multiling http
        acl CONNECT method CONNECT
        #http_access allow manager localhost
        http_access deny manager
        http_access deny !Safe_ports
        http_access deny CONNECT !SSL_ports
        http_access allow localhost
        http_access allow webserver
        http_access deny all
        http_port 3128
        coredump_dir /var/spool/squid3
        refresh_pattern ^ftp: 1440 20% 10080
        refresh_pattern ^gopher: 1440 0% 1440
        refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
        refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
        refresh_pattern . 0 20% 4320

      • 07/07/2014 às 16:05

        Não acredito que seja o NTLM. Uso a mesma autenticação e não tive esse problema. No seu apache não tem alguma autenticação pra essa página ou para servidores locais?

      • Sócrates
        07/07/2014 às 16:07

        Acho que não.. não sei dizer… Meu uso apache2 com as configs padrão.
        Pode me orientar como verificar isso?
        tem como me passar seu squid.conf e apache? não sei.. mas to doido pra resolver isso.
        meu e-mail é: socratesaugusto@hotmail.com
        se puder me ajudar… grato pela sua atenção.

  1. No trackbacks yet.

Deixe um comentário