Pull to refresh

Squid для самых маленьких. Часть 3 Статистика

Reading time 3 min
Views 94K
Каждый, кто поднимает проксю, потом хочет смотреть кто её пользуется, кто сколько качает. И иногда бывает очень полезным просмотр в режиме реального времени, кто что качает. В данном топике будут рассмотрены следующие программы:
SqStat — Real Time статистика через web
Sarg — Анализатор логов Squid с последующей генерации HTML
SquidView — Интерактивный консольный монитор логов Squid


0. Введение



Я не буду здесь рассказывать как настроить Apache. В инете и так много мануалов на эту тему, так что вперед и с песней, я буду рассказывать про те фичи, которые внедрял у себя.
Да, рассказывать буду на примере Debian Etch, у вас могут отличаться пути, имейте ввиду…
Поехали…

1. SquidView



Данная программа работает в консоли, и выводит там же все что делает Squid.
Установка:

aptitude install squidview

Подождем пару секунд, если у вас быстрый интернет. Все, теперь мы можем смотреть кто, что качает. Если у вы не меняли расположение логов, и оставили большинство параметров squid дефолтными, то для просмотра необходимо только запустить его, но с правами root'а, потомучто логи сквида пишутся им…

sudo squidview

Я думаю что этого вполне хватит вам, но также сообщу очень полезные вещи, нужно нажимать кнопки, и смотреть:
  • h — помощь, здесь мы можем узнат ь еще больше ;)
  • l — enter — генерация отчета, вы также можете настроить дополнительные настройки
  • T — начинется учет статистики по размеру скачиваемого
  • O — просмотре кто чё качал по юзерам, после T


По SquidView вроде бы все, если что нибудь не до рассказал, пишиите, добавлю!

2. SqStat



Screenshot

Это скрипт который позволяет смотреть активные соединения, загрузку канала, и среднюю загрузку канала.
Я предполагаю что у вас уже настроен апач.
Скачиваем последнюю версию,

wget -c samm.kiev.ua/sqstat/sqstat-1.20.tar.gz
tar xvfz sqstat-1.20.tar.gz
cd ./sqstat-1.20
mkdir /var/www/squid-stat
cp -R * /var/www/squid-stat*

Всё, теперь нам необходимо настроить Squid-cgi или cachemgr.cgi, Ставим:
aptitude install squid-cgi

Теперь необходимо настраивать доступ…

nano /etc/squid/squid.conf

Добавляем
acl manager proto cache_object
http_access allow manager localhost
http_access deny manager
#Данная строка задает пароль secret и разрешает делать все
cachemgr_passwd secret all


Сейчас необходимо поправить /etc/squid/cachemgr.conf
echo "*" >> /etc/squid/cachemgr.conf
Вместо * можете поставить адрес сетевой которую прослушивает squid

Вот вродебы и всё!

http://localhost/cgi-bin/cachemgr.cgi

У меня почему то не получилось завести при адресе 127.0.0.1 и ввел 192.168.0.1 и все заработало. теперь вам необходимо ввести в поле Cache Host адрес внещней сетевой. Порт какой у вас стоит, в поле логин, если вы делали всё по мануалу, можно ничего не водить, и в поле пароля пишем secret. Если всё прошло удачно, то вы увмидете список доступных параметров… Можете посмотреть, а мы переходим к настройке SqStat…

nano /var/www/squid-stat/config.inc.php
//Это адрес на котором слушает ваш сквид
$squidhost[0]="192.168.0.1";
$squidport[0]=3128;
$cachemgr_passwd[0]="secret";
//Этот параметр разрешает резолвить имена записями в ващей системе
$resolveip[0]=false;
//В этом файле содержится айпи и имена кмопьютеров, можно использовать кирилицу :)
$hosts_file[0]="hosts";
$group_by[0]="host";


В принципе, сам конфиг хорошо документирован, изучайте, благо там изучать нечего ))

Теперь делаем поддомен, так намного удобнее)

nano /etc/apache2/sites-enabled/sqstat
<VirtualHost squid.server.local:80>
ServerAdmin squid@gmail.com
DocumentRoot /var/www/squid-stat/
ServerName proxy.server.local



Для резолвинга пишем в /etc/hosts

nano /etc/hosts
192.168.0.1 proxy.server.local


Вот и всё :) почти все

squid -k reconfigure
/etc/init.d/apache2 reload


3. Sarg



Эта программа генерирует html отчеты, риcует графики, и тд…
Ставим:

aptitude install sarg

nano /etc/squid/sarg.conf
language Russian_koi8
graphs yes
title "Squid User Access Reports"
temporary_dir /tmp
output_dir /var/www/sarg
max_elapsed 28800000
charset Koi8-r


Kонечно же никто Вам не запрещает поизгаляться над стилем отображения всего этого хозяйства — конфиг снабжён очень подробными комментариями.

crontab -u root -e
* 08-18/1 * * * /usr/sbin/sarg-reports today
* 00 * * * /usr/sbin/sarg-reports daily
* 01 * * 1 /usr/sbin/sarg-reports weekly
* 02 1 * * /usr/sbin/sarg-reports monthly


Эпилог



Всё :)) Если хотите, можете создать и для него поддомен! Это уже описано…
Сам я пользуюсь всеми тремя программами и доволен.

UPD. Для решения проблемы со скивдом 3-ей версии неоходимо сделать мягкую ссылку:

ln -s /var/log/squid3/access.log /root/.squidview/log1

UPD.2. В следующей статье будет идти разговор о delay pools
Кросспост из моего блога
Tags:
Hubs:
+5
Comments 10
Comments Comments 10

Articles