SqStat - мониторим трафик Squid-а в режиме реального времени

Версия для печатиОтправить другуPDF version

SqStat - утилита для просмотра в режиме реального времени, кто и что гоняет через Squid. Да еще и с веб-интерфейсом... Однозначно - нужно "пощупать".

Идем в порты и даем команду на инсталляцию:

# cd /usr/ports/www/sqstat && make install clean && rehash

Установка прошла моментально, я даже удивился этой скорости. По завершению инсталляции вывелась инструкция что и к чему:

- Copy file config.inc.php.defaults to config.inc.php, edit
  config.inc.php to specify your squid proxy server IP and port.

- Set up squid:

acl manager proto cache_object
# replace 10.0.0.1 with your webserver IP
acl webserver src 10.0.0.1/255.255.255.255
http_access allow manager webserver
http_access deny manager

- Set up apache web server:

Alias /sqstat "/usr/local/share/sqstat/"

 Что ж... Выполним необходимые пункты. Скопируем config.inc.php.defaults в config.inc.php:

# cp /usr/local/share/sqstat/config.inc.php.defaults /usr/local/share/sqstat/config.inc.php

Посмотрим, что внутри... Аха! Можно поковыряться с настройками. В результате нехитрых манипуляций в редакторе, появился следующий конфиг:

# cat /usr/local/share/sqstat/config.inc.php
<?php
/* Общие настройки */
 
$use_js=true; // Использовать java-скрипт для HTML
// Максимальная длина URL для отображения в URI
DEFINE("SQSTAT_SHOWLEN",60);
/* Настройка proxy  */
 
/* IP-адрес прокси-сервера или хостнейм */
$squidhost[0]="127.0.0.1";
/* Порт прокси-сервера */
$squidport[0]=3128;
/* cachemgr_passwd в squid.conf. Оставить пустым для отключения авторизации */
$cachemgr_passwd[0]="";
/* Резолвить пользовательские IP-адреса или нет [true|false] */
$resolveip[0]=false;
/* Расскоментируйте следующую строку, если хотите использовать hosts-like файл.
   Смотрите hosts.txt.dist. */
// $hosts_file[0]="hosts.txt"
/* Группировать пользователей по имени хоста - "host" или по имени пользователя - "username".
   По имени пользователя работает только с with squid 2.6+ */
$group_by[0]="host";
 
?>
 

Поскольку я использую редиректор SAMS-а, то в конец squid.conf необходимо добавить такую строку (сразу после параметра redirect_program):

redirector_access deny localhost

Строки, которые советовал прописать SqStat и так присутствовали, так что на том редактирование squid.conf прекращаем.

Добавляем в конфигурационный файл Apache следующий блок:

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

Реконфигурируем squid и apache:

# apachectl graceful
# squid -k reconfigure

 Кажется на этом все... Набиваем в браузере строку http://IP_SERVERA/sqstat/ и наслаждаемся результатами проделанной работы:

Image

 

Работа напильником

Изменение 12-часового формата на 24-часовый.
В файле /usr/local/share/sqstat/sqstat.class.php в 209 строке изменим значение "h:i:s d/m/Y" на "H:i:s d/m/Y".

Отображение скорости в Kb/s, а не в KB/s.
В файле /usr/local/share/sqstat/sqstat.class.php заменяем "KB" на "Kb" в строках 280, 281, 288 (два изменения) и 297. Теперь еще нужно, чтобы и перевод из байтов в биты был выполнен корректно. Для этого в  файле /usr/local/share/sqstat/sqstat.class.php заменяем "1024" на "1024*8" в строках 253, 258 и 260.

Ваша оценка: Нет Средняя: 4.4 (9 голосов)

Вставай, Україно!

Литература