Обсуждение статьи Дмитрия Кругликова (Squid+SARG+Rejik)

Обсуждение программы редиректора
Vadq
Сообщения: 1
Зарегистрирован: Сб фев 26, 2005 15:55

Сообщение Vadq »

Может не совсем в тему, но относится к ограничению трафика. Обнаружил баг в сквиде,

1. добавляю себя в ведро класа 2 -1/-1 2000/16000
2. ставлю на закачку большой файл и вижу что скорость 2к
3. squid -k reconfigure
4. мой файл пролетает со скоростью 10М
5. все новые соединения работают на 2к

Кто ковырял исходники сквида подскажите, что сделать чтобы старые ведра не удалялись, либо анализировались текущие соединения?

Death
Сообщения: 4
Зарегистрирован: Чт апр 07, 2005 11:37
Откуда: Kiev
Контактная информация:

Re: Обсуждение статьи Дмитрия Кругликова (Squid+SARG+Rejik)

Сообщение Death »

Junior писал(а): Как альтернативу SARG-у, запустил с ним параллельно
awstats. Очень занимательная штука, парсит кучу разных логов,
форматы логов можно указывать вручную, ибо не все логи выводят результаты в одинаковом виду и формате. Поддерживает логи прокси, вэб-сервреа, почтовые и проч. http://awstats.sourceforge.net/
Слушай а ты настроил австатс на логи режика?

я написал отакое %time2 %other %host %url %other

2005-04-07 10:39:07 BANNER: 10.44.54.13 - http://bbn.img.com.ua/n/24499.gif (urls rule: bbn.img.com.ua)

лог выглядит вот так. но что-то не работает.
wbr, Me. [url=http://livejournal.com/users/deadj][img]http://www.livejournal.com/img/userinfo.gif[/img][/url] Dead J. Dona
[url=http://business.ua]Бизнес.UA[/url]
[url=http://distributed.ru]Распределённые.Ру[/url]

neiromancer
Сообщения: 1
Зарегистрирован: Пт май 06, 2005 17:44

индивидуальный лимит и хитрое обрезание

Сообщение neiromancer »

Задача: обрезать траффик тем кто превысил лимит, у каждого свой лимит, не считать рабочие сайты, при отключении пользователя давать возможность ходить на некоторые сайты.

Решение: Если sarg'у положить больше n сайтов в exclude_hosts он начинает жутко тормозить. Поэтому мы перед тем как sarg'у файл скормить делаем следующее
cat $SQUID_LOG | grep -v -f $WORK_URLS > $NEW_LOG
где $WORK_URLS - файл с рабочими сайтами, к которым всегда должен быть доступ, независимо превысил ли юзер лимит
Эта строчка на bash'е работает менее 1 сек. ,а на сарге порядка 10 минут.
далее
$SARG -f $SARG_CONF/sarg.conf.150 -u username1
$SARG -f $SARG_CONF/sarg.conf.150 -u username2

где sarg.conf.150 - конфиг сарга в котором указал лимит, конфигов нужно столько сколько групп юзеров.

при таком подходе получаем, что у юзера лимит только не для рабочих сайтов, и все быстро работает

Grumbler
Сообщения: 11
Зарегистрирован: Сб ноя 19, 2005 22:29
Откуда: Ekaterinburg
Контактная информация:

Сообщение Grumbler »

konop писал(а):Перед мною эта задача стояла года два назад
пользователей около 100
ходили они в инет через SQUID
я написал на perl-ле 3 скрипта

А давай это дело опубликуем. например, можно создать проект на http://sf.net

там уже есть sdquota (см следующий пост)

Grumbler
Сообщения: 11
Зарегистрирован: Сб ноя 19, 2005 22:29
Откуда: Ekaterinburg
Контактная информация:

Сообщение Grumbler »

Ограничивать трафик с помощью SARG неверно в корне:
1. SARG работает слишком уж периодично
2. Поскольку обрабатываестя всегда весь лог - это долго и грузит систему.
3. Нет возможности выставления индивидуальных квот.

Я использую sdquota, (http://sf.net/projects/sdquota и http://sourceforge.net/tracker/?atid=60 ... unc=browse), он работает "в онлайне" (срабатывает сразу как появляется запись в логе), но автор тулзы "пропал".

В качестве триггера доступа использую аутентификатор - всё равно нужно учитывать трафик по юзерам, в не по компьютерам. Но можно и Режик для этого использовать. Более того, режик уже имеет готовую возможность сделать часть сайтов доступными всегда (например, при бесплатном внутригороде как у нас в ебурге).

Grumbler
Сообщения: 11
Зарегистрирован: Сб ноя 19, 2005 22:29
Откуда: Ekaterinburg
Контактная информация:

Re: Обсуждение статьи Дмитрия Кругликова (Squid+SARG+Rejik)

Сообщение Grumbler »

Serg писал(а):Проблема в другом у меня более 300 пользователей а трафик за сутки порядка 1,5-2Гб. Соответственно access.log за месяц накапливается около 1,5Гб и концу месяца скрипт требует больше и больше времени т.к. лог просматриваетя с начала при этом тормозит и Squid.
Разбивать лог меньше чем месяц не могу. Нужна суммарная статистика за месяц.
По хорошему надо запоминать позицию в файле access.log, накопленные данные о лимитах и в следующий раз продожать с запомненой позиции. Но не знаю как это сделать в перле и можно ли вообще. :(
Может кто подскажет? :)
1. позицию запомнить можно. перемещаться по файлу тоже можно. man perlfunc
2. учитывай, что файл может ротироваться.

Ответить