Мониторим трафик Squid в реалтайме с помощью SqStat

23.11.2010 - 22:17

MRTG и Sarg - хорошо, но хочется смотреть в реальном времени кто, что качает и просматривает в интернет. Для этого есть хороший скрипт SqStat с помощью которого можно просматривать через web-интерфейс прохождение трафика в реальном времени в Squid.
Устанавливаем из портов:

[root@router /]# cd /usr/ports/www/sqstat
[root@router /usr/ports/www/sqstat]# make install clean

Конфиги программы находятся в /usr/local/share/sqstat:
[root@router /]# cd /usr/local/share/sqstat

Редактируем конфиг:
[root@router /usr/local/share/sqstat]# cp config.inc.php.defaults config.inc.php
[root@router /usr/local/share/sqstat]# cat > config.inc.php
<?php
/* Общие настройки */
$use_js=true; // use javascript for the HTML toolkits

// Максимальная длина URL, отображаемый в URI столбце таблицы.
DEFINE("SQSTAT_SHOWLEN",60);

/* Настройки Proxy-сервера */

/* IP-адрес proxy-сервера или имя хоста */
$squidhost[0]="127.0.0.1";
/* Порт на котором Squid принимает запросы */
$squidport[0]=3128;
/* Cachemgr_passwd в squid.conf. Оставьте пустым, чтобы отключить разрешение. */
$cachemgr_passwd[0]="";
/* Переводить IP-адреса пользователей в имена? Принимает значения: [true|false]. */
$resolveip[0]=true;
/* Раскомментируйте следующую строку, если вы хотите использовать хосты в текстовом файле. */
// $hosts_file[0]="hosts.txt"
/* Группа пользователей с именем хоста - "host" или пользователя - "username". Имя пользователя работает только с squid 2.6+ */
$group_by[0]="host";

/* Можете указать более одного Proxy-сервера в файле конфигурации, например:*/
// $squidhost[1]="192.168.0.2";
// $squidport[1]=3129;
// $cachemgr_passwd[1]="secret";
// $resolveip[1]=true;
// $hosts_file[1]="otherhosts.txt"
?>

Нас просят добавить следующий блок в Apache, добавляем:

Alias /sqstat "/usr/local/share/sqstat/"
<Directory /usr/local/share/sqstat/>
    DirectoryIndex sqstat.php
    Order deny,allow
    Deny from all
    Allow from 192.168.0.25
</Directory>

Добавляем в squid.conf следующие строки, для работы cachemgr.cgi:

acl manager proto cache_object
# где 192.168.0.1 IP адрес вашего web-сервера
acl webserver src 192.168.0.1/255.255.255.255
http_access allow manager webserver
http_access deny manager

Перезапускаем сервисы:
Apache:

[root@router ~]# apachectl graceful
/usr/local/sbin/apachectl graceful: httpd gracefully restarted

Squid:
[root@router /usr/local/etc/rc.d]# ./squid reload

Теперь в браузере можем наблюдать за происходящим в SQUID:
http://192.168.0.25/sqstat/

72.png

Ваша оценка: Нет Средняя: 3.8 (8 votes)