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.
# vim /etc/squid/squid.conf
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/
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
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?
Bem interessante, vou testar.
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
O endereço do servidor está liberado no proxy?
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.
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?
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
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?
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.