Регистрация...

Eserv Forum / E4 / Eserv 4 beta / Бета встроенного квотирования в Eproxy4

wikipost // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
http://www.eserv.ru/download/acWEB4_tp1.rar — замена acWEB, внутри которого Eproxy с поддержкой настройки ограничений на
  • скорость в направлении пользователя (bps)
  • предельный объем передачи для конкретного пользователя (квоты)
Собственно квоты реализованы фактически тоже как ограничения на скорость, но не в байтах секунду, а на более длительный срок. Ограничения bps пользователь чувствует сразу, как будто работает через более узкий канал, а квоту он не замечает, пока не "упрётся" в заданный лимит.

Настройка такого квотирования производится через новый пункт "Тарифные планы" в разделе "Прокси". Сейчас там собственно "тариф" не настраивается, т.е. не указываются цены, а настраиваются указанные ограничения — сколько чего в этом плане разрешено. Привязка тарифных планов к пользователям — по ролям, т.е. только для авторизованных, и при этом нельзя назначить пользователю индивидуальный план (не такой, как у всех с такой же ролью) иначе чем установить пользователю другую роль (что меняет его права и в других частях Eserv). Подход "обсуждабельный" — если не позволяет реализовать какие-то типичные ситуации, то еще не поздно изменить.

Бета не меняет структуру баз 4.24, а создает для себя отдельные БД. Поэтому откат на предыдущий acWEB должен быть безболезненным, если что-то не заработает. Ошибки/отладка будут в acWEB.log, вырезки можно публиковать здесь или присылать архивами на support@eserv.ru. Отладочный "мусор" там объемный, в бете не отключаемый — присылать надо не всё, а только вырезку, если видите связь с вопросом. Иначе лога не надо, я тогда сам скажу, что искать и присылать.

Я три дня, считая с сегодняшнего, буду в отъезде. Постараюсь выходить на связь, но не гарантирую. В пятницу и выходные — в рабочем режиме.
 
Комментарии к этой версии (14.07.2010 05:57) [~ac] 7f7e32ee
АвторДатаТекстtags
matveeva14.07.2010 10:05
ac пишет: нельзя назначить пользователю индивидуальный план
Мне бы это надо было, т.к. есть особо одаренные, которые любят лазить, где не надо, им бы урезать лимит, а есть, наоборот, другие, которые должны иметь бОльший или даже неограниченный трафик. Наверное, это можно решить и ролями, создав дополнительно 3 роли: "норм.лимит", "ограниченный" и "большой". Ну и "неограниченный" тогда тоже. А еще можно было бы совместить роли и индивид. юзеров, чтобы можно было бы на роль, которая есть у большинства, навесить определенный лимит, а потом для некоторых юзеров ручками исправить его на инидивидуальные значения. Если только это возможно реализовать. Так, разные варианты...
wikipost
ili_a14.07.2010 10:08
Поставил, захожу в тарифные планы, в среднем окне выдает Ошибка обращения к серверу (/tplans.e): Not found
wikipost
alex112414.07.2010 10:10
ред: 14.07.2010 10:36
У меня квотирование не заработало. При выборе "Прокси — Тарифные планы" выводиться
Ошибка обращения к серверу (/tplans.e): Not found

Прокси работает, лог пишет.
При просмотре статистики долго (дольше чем ранее) крутит загрузку данных.
wikipost
ac17.07.2010 17:11
Да, виноват, новые файлы не добавились внутрь acWEB4.exe. И OnStartup.rules.txt нужен с изменениями. Выложу исправленный комплект tp2.
wikipost
ili_a19.07.2010 11:18
ac пишет: Выложу исправленный комплект tp2.

Ждем
wikipost
ac22.07.2010 00:34
http://www.eserv.ru/download/acWEB4_tp2.rar

Исправлены замеченные ошибки, добавлена возможность назначения индивидуальных планов — по IP клиента или логину клиента (логин в формате user@domain, т.е. как в логе пишется).

Только для тестирования! Возможно формат баз с т.планами и статистикой будет еще меняться, конвертация между бетами не гарантируется.
wikipost
alex112422.07.2010 08:51
ред: 22.07.2010 10:00
Для определенной роли запрещен выход в и-нет. А если пользователю с такой ролью дать разрешение через "тарифный план", он будет иметь выход в инет или нет. "Права доступа" и "Т.план" — кто главнее?
И можно ли в наглядной форме увидеть какой пользователь сколько "съел", можно ли обнулить квоту на конкретного пользователя
wikipost
ili_a22.07.2010 12:52
Сделал для себя Тарифный план 3 мв в день, хожу по инету, а он никак не срабатывает, поставил ограничение скорости — работает. Поставил просто "1" в день, все равно пускает в инет.

Как пользователи должны авторизироваться user, или обязательно user@domain?
wikipost
ili_a23.07.2010 10:36
Сделал тариф по роли, назначил 10 байт в день... квота не срабатывает... Где смотреть что не так?
wikipost
ac23.07.2010 21:30
alex1124 пишет: Для определенной роли запрещен выход в и-нет. А если пользователю с такой ролью дать разрешение через "тарифный план", он будет иметь выход в инет или нет. "Права доступа" и "Т.план" — кто главнее?

Тарифные планы — это не разрешения, а дополнительные ограничения, по скорости или трафику, они никак не могут отменить запретов, устанавливаемых в правах доступа. Это просто как бы другое измерение ограничений. Права доступа дискретно высекают часть ресурсов, а квоты задают общую форму оставшегося разрешенным.
wikipost
ili_a26.07.2010 20:55
квоты у меня так и не заработали. Что где смотреть?
wikipost
ac27.07.2010 01:57
Смотреть, правильный ли план выбирается (имя выбранного плана — последнее поле в логах в каталоге HTTP-PROXY) или вообще никакого. Или можно пока поставить небольшую паузу в тестирование, я сейчас уже переделываю работу со стат.базой в связи с недавним серьезным сбоем в lenmetro, по-другому там будут организованы и счетчики квот.

ili_a пишет: Как пользователи должны авторизироваться user, или обязательно user@domain?
Как и раньше — можно по короткому логину, если второго такого же нет. Внутри Eserv'а они все с доменами проходят, поэтому для однозначности надо и в свойствах тарифного плана, если он индивидуальный для этого пользователя, записывать user@domain, даже если он по user авторизовался.
wikipost
ili_a27.07.2010 10:09
Посмотрел, план выбирается правильно, a квота не срабатывает.
wikipost
ac16.08.2010 19:17
http://www.eserv.ru/download/acWEB4_2010-08-16_1.rar

Счетчики вынесены в отдельные базы (DATA\stats), больше не в sqlite, а в самодельной. Намного быстрее, немного компактнее и, надеюсь, все-таки устойчивее к сбоям питания и пр. Испытайте, пожалуйста. Самый простой способ — методом ili_a: назначить мелкую квоту на день, быстро её выработать и смотреть, что будет. Должно быть QUOTA_EXCEEDED вместо TCP_MISS в логе http-proxy, более подробная запись в acWEB4.exe (временная отладка) и, если исчерпание квоты выяснилось перед выполнением очередного запроса, еще и внятное пояснение в браузере. Если квота исчерпывается в процессе качания файла, то файл обрывается (ошибка будет 1007x в логе), а следующая открываемая страница в браузере скажет про исчерпание квоты.

Переключаюсь пока на переделку интерфейса поюзерной и по IPшной статистики, т.к. исходные данные теперь по-другому берутся.
wikipost
ili_a17.08.2010 11:57
Сделал для себя квоту 2mb, стал ее вырабатывать, не срабатывает, забыл, что в квоте надо указывать user@domain. Сделал как надо, квота сразу сработала
// Лимиты: день=2097152, неделя=0, месяц=0 // Использовано: день: 45428741 <- исчерпано, неделя: 45428759, месяц: 45429466

Оказывается, при указании в тарифном плане просто user трафик считается, но квота не срабатывает…
Отключил квоту, чтоб суда зайти, а меня все равно не пускает, квота срабатывает
Кстати, не работает отключение учетных записей в группах, есть группа – рассылка, отключил несколько пользователей, а почта из рассылки все равно к ним доставляется.
wikipost
ac17.08.2010 17:12
ili_a пишет: трафик считается, но квота не срабатывает…

Трафик по пользователям и IP считается в любом случае. А о том, что логин надо указывать полностью — указано выше в посте от 22 июля. Впрочем, если не бояться неоднозначности (разные домены), то можно использовать и логин без домена — ослабил это ограничение:
http://www.eserv.ru/download/acWEB4_2010-08-17_1.rar
Баг с игнорированием отключения тарифного плана также исправил.

С рассылками — проверю acSMTP.
wikipost
ili_a17.08.2010 19:35
Показалось, пока, не очень удобно назначать тарифные планы (квоты). Так как пользователи с одинаковой ролью для встроенной wikki могут иметь разный приоритет по трафику. Напрашивается дополнительная настройка по проект->группа->роль.
Тогда спокойно можно сделать группу, включить туда нужных пользователей и назначить им произвольные роли, которые будут работать только для квотирования прокси.
wikipost
ili_a17.08.2010 20:03
ред: 17.08.2010 20:21
Пожелания
  1. Есть несколько корпоративных (внешних) сайтов, к которым у пользователей должен быть доступ даже при окончании квот (и этот трафик можно (нужно) в квоту не считать). В TrafC было такое правило
  2. Antecedent TARGET-HOST =~ domen.domen.ru Consequent 0 ISEOF 1
    Как такое же исключение сделать в тарифных планах? Видимо через алгоритм?
  3. Хотелось бы, чтоб у пользователей была возможность посмотреть статистику своей квоты (назначенная квота, сколько использовано, кода заканчивается)
  4. Иногда возникает следующая ситуация, у пользователя заканчивается квота, до ее сброса остается 1-3 дня, пользователю ОЧЕНЬ нужен интернет. В этом случае в TrafC для E3 через статистику я снижал обьем потребленного трафика. Хотось чтобы что то подобное увидеть, для разового изменения квоты, действующего только до ее сброса.
wikipost
ac20.08.2010 01:01
ac пишет: Переключаюсь пока на переделку интерфейса поюзерной и по IPшной статистики, т.к. исходные данные теперь по-другому берутся.

http://www.eserv.ru/download/acWEB4_2010-08-19_5.rar — исправлена пара ошибок плюс новый отчет с графиками "Прокси/Обзор/По пользователям и IP".
eserv4 tpstats m
Еще одну ошибку вижу (можете не сообщать месячная статистика идёт с ошибочным сдвигом на месяц.

По вопросам ili_a:
  1. Через алгоритм, или может не усложнять, а сделать таблицу исключений — хосты, по которым трафик не считается. Или просто все локальные хосты и домены не считать? Эти корпоративные сайты входят у вас в список локальных доменов?
  2. Это будет в профилях (как раз к этому возвращаюсь). Пока пользователь видит свою квоту и расход только когда квота исчерпывается.
  3. Снижать трафик (уменьшать счетчик?) наверное неправильно, т.к. нарушает достоверность статистики. Логичнее квоту увеличивать. Или можно сделать как с правами доступа — там суммируются права из всех сработавших записей ACL, а здесь мы можем суммировать трафик по всем тарифным планам, которые подходят пользователю по заданным в таблице условиям. Тогда если пользователю надо увеличить квоту — просто включается доп.тарифный план, где это увеличение записано для этого пользователя. Удобно так будет?
ili_a пишет: Напрашивается дополнительная настройка по проект->группа->роль.
Тогда спокойно можно сделать группу, включить туда нужных пользователей и назначить им произвольные роли, которые будут работать только для квотирования прокси.

То есть вы все равно назначаете "произвольные роли" — почему бы просто эти роли и не указать в квотировании? Что изменится от того, что мы еще и группы туда добавим? Разные тарифные планы — это разный уровень полномочий, а полномочия у нас связаны с ролями. А группы для другого — для организационного объединения людей, в т.ч. с разными ролями внутри группы. В E3 и в Windows приходится полномочия привязывать к группам, т.к. нет отдельного понятия роли. Сейчас, по-моему, можно без групп в этих задачах обойтись. Или люди с одной и той же ролью (администратор, например) в разных группах должны иметь разные тарифные планы? В принципе может быть... ОК, добавлю тогда поле "Проект/группа" в эту таблицу.
wikipost
ili_a20.08.2010 11:20
ред: 20.08.2010 11:24
ac пишет: 1.Через алгоритм, или может не усложнять, а сделать таблицу исключений — хосты, по которым трафик не считается. Или просто все локальные хосты и домены не считать? Эти корпоративные сайты входят у вас в список локальных доменов?
Локальные и внешние. Так как это исключение для всех (в моем случае), то таблица исключений помогла бы. Хотя если можно сделать через алгоритм, то может не городить еще один огород? Хотя если вы говорите, что список исключений проще, то выбор за вами.
ac пишет: 3.Снижать трафик (уменьшать счетчик?) наверное неправильно, т.к. нарушает достоверность статистики. Логичнее квоту увеличивать. Или можно сделать как с правами доступа — там суммируются права из всех сработавших записей ACL, а здесь мы можем суммировать трафик по всем тарифным планам, которые подходят пользователю по заданным в таблице условиям. Тогда если пользователю надо увеличить квоту — просто включается доп.тарифный план, где это увеличение записано для этого пользователя. Удобно так будет?

Согласен, что уменьшать счетчик на правильно.
В Е3 в TrafC в статистике -> Quota-каналы можно было изменить квоту, или изменить счетчик, квота автоматически становилась прежней при ее сбросе в заданный период или при перезагрузке Eproxy, а счетчик при перезагрузке не сбрасывался, поэтому так и делал.
Хотелось бы чтоб можно было квоту увеличить, можно и ссумировать, но чтоб дополнительная квота была не возобнавляемая (одноразовая), и автоматически отключалась в конце действия.
wikipost
ili_a20.08.2010 14:15
ac пишет: http://www.eserv.ru/download/acWEB4_2010-08-19_5.rar

Что то после сегодняшнего обновления моя квота на 2 mb не срабатывает, по статистике я уже потребил практически 8.
В логах квота назначается.
wikipost
ac20.08.2010 15:15
Значит статистика для сравнения с лимитом берется не та, в которой вы 8 Мб наработали... В статистике 8 Мб показывается для имени (логина) или IP? Имя назначается IP-авторизацией или по имени/паролю или NTLM? Одно из исправлений касалось как раз того, что при явной авторизации статистика после авторизации продолжала считаться для IP, а не для логина, т.е. могло приводить к путанице, если IP-адреса динамические или пользователь "бродячий", работает со своим логином с разных машин (в старом варианте подсчета он мог накрутить свой трафик на этот чужой или временный IP вместо своего логина).
wikipost
ili_a20.08.2010 16:33
ac пишет: В статистике 8 Мб показывается для имени (логина) или IP? Имя назначается IP-авторизацией или по имени/паролю или NTLM?

Для имени. Авторизация по имени/паролю.
IP в сети динамические, выдаются DHCP сервером Windows2003.
В принципе в офисе пользователи, в том числе и я, могут работать на любой машине (перемещаемые профили), но сейчас у всех есть свой комп.

Кстати, версию от 16 августа запустил на весь офис, тем более что "важные" пользователи в командировке, часть в отпуске. Никому об этом не обьявлял. Квоты у нас большие 500мб. Так вот вчера у одного пользователя квота закончилась! Выдало что потреблено 700мб.
Пользователь сказал, что ничего не качал... Откатился обратно на Е3. Так как проверить не могу, правда или нет, писать вам ничего не стал. Но насторожило, что если пользователь и потребил так много, почему его раньше не отрубило на 500 мб?
wikipost
ac20.08.2010 23:26
ili_a пишет: Так как проверить не могу, правда или нет

Почему не можете? Можно посмотреть по статистике — не обязательно по этому новому отчету, можно по старым "Прокси/Сегодня/Пользователи" — там все цифры с доказательствами, из каких визитов они сложились. Может еще какую ошибку найдем.

ili_a пишет: если пользователь и потребил так много, почему его раньше не отрубило на 500 мб?

А не могло получиться так, что вы квоту эту поставили уже после того как у него накопилось 700? В вашем посте выше от 17 числа тоже при блокировке большая переработка видна. E4 сверяет стат.счетчики с квотой не после каждой сетевой операции, а (по мере передачи файлов) в среднем раз в секунду, а также перед началом передачи каждого следующего файла (в правиле OnRequest). Т.е. при блокировании всегда получится небольшой перерасход, но он не должен быть больше, чем можно прокачать через вашу линию в секунду.
wikipost
ac21.08.2010 00:03
И еще в этой версии acWEB4_2010-08-19_5 в сравнении с предыдущей такое изменение: для IP, которые не относятся к стандартным диапазонам ЛС, статистика не ведется и с квотами не сравнивается.
wikipost
ili_a22.08.2010 18:23
ac пишет: А не могло получиться так, что вы квоту эту поставили уже после того как у него накопилось 700?

Нет не может, до этого Е3 был.
ac пишет: В вашем посте выше от 17 числа тоже при блокировке большая переработка видна.

Там просто правило сначало без @domen было сделано, поэтому такой перерасход и случился.
ac пишет: Почему не можете? Можно посмотреть по статистике — не обязательно по этому новому отчету, можно по старым "Прокси/Сегодня/Пользователи" — там все цифры с доказательствами, из каких визитов они сложились. Может еще какую ошибку найдем.

В новом отчете вообще этого пользователя нет. А старый только на текущий день.
wikipost
ac23.08.2010 03:00
http://www.eserv.ru/download/acWEB4_2010-08-23_1.rar — в правила выбора тарифного плана добавлены поля "проект/группа", "протокол" и "исключения хостов" (база tplans.db3 автоматически апгрейдится). Статистика из сентября переносится в август (баг прошлой версии). В записи лога http-proxy\* добавлено два поля (в скобках после выбранного тар.плана) — на кого зачисляется статистика по этому запросу и текущее значение его статистики за день. Думаю, это поможет разобраться с вопросами, подобными заданным выше — почему у кого-то квота не срабатывает, а у кого-то срабатывает не так как ожидалось, т.к. теперь трассируется не только выбранный тарифный план, но и с какой статистикой он работает.
wikipost
ili_a23.08.2010 09:54
ред: 23.08.2010 09:57
ac пишет: в правила выбора тарифного плана добавлены поля "проект/группа",
Осталось добавить в web интерфейс управления назначения ролей в группе.
ili_a пишет: Что то после сегодняшнего обновления моя квота на 2 mb не срабатывает, по статистике я уже потребил практически 8.
В логах квота назначается.
Поставил новую версию, квота не срабатывает, в логе назначается. Отключил тариф и создал новый такойже на 2мб, квота сработала.
wikipost
ili_a23.08.2010 10:18
ac пишет: в правила выбора тарифного плана добавлены поля "проект/группа"
А как правильно прописывать в этом поле проект/группа? пробовал по разному, Тплан не назначается.
wikipost
ili_a23.08.2010 11:14
как то странно новый отчет работает (прокси / обзор / по пользователям и ip).
Статистика по пользователю и ip не совпадает. Провел ряд экспериментов и пришел к выводу, что в статистику ip попадает трафик Web сервера.
wikipost
ac23.08.2010 14:46
ili_a пишет: Отключил тариф и создал новый такойже на 2мб, квота сработала.

Т.е. разницы никакой, но "старый" не срабатывал? Можно взглянуть на tplans.db3? (support@eserv.ru)

ili_a пишет: А как правильно прописывать в этом поле проект/группа?

Записывать ту группу или проект, назначение которой видно по логу http-proxy — там в первых скобках записывается "проект/роль", вот до "/" проект и будет сравниваться.

ili_a пишет: Статистика по пользователю и ip не совпадает.

Да, не будет совпадать. Статистика начисляется на IP только до тех пор, пока пользователь не авторизуется. А с момента авторизации считается на счет авторизованного. Иначе получается путаница с "бродячими" пользователями, как я описывал выше.

Статистика веб-сервера — да, тоже считается — для локальных IP и для авторизованных пользователей.
wikipost
ili_a23.08.2010 15:29
ac пишет: Записывать ту группу или проект, назначение которой видно по логу http-proxy — там в первых скобках записывается "проект/роль", вот до "/" проект и будет сравниваться.
В логе пишется только основной проект и роль в нем. А группы не выводятся. Сделал еще один проект, добавил туда свой логин, все равно сверяется по первому проекту.
ac пишет: Статистика веб-сервера — да, тоже считается — для локальных IP и для авторизованных пользователей.
А зачем Статистика веб-сервера в статистике прокси сервера?
wikipost
ac23.08.2010 20:54
Статистика веб-сервера учитывается просто потому, что сервер в том же exe-модуле находится, что и прокси. Добавил условие, теперь не учитывается. Также добавил проверку всех проектов/групп, а не только основных, при выборе тар.плана.

http://www.eserv.ru/download/acWEB4_2010-08-23_2.rar
wikipost
ili_a24.08.2010 13:50
ред: 24.08.2010 13:53
Сегодня настроил тарифные планы.
Получилось следующее:
  1. ТП — ограничение трафика пользователей из определенной группы
  2. ТП — безлимитный тариф
  3. ТП — всем остальным выдается страница "Доступ запрещен". Алгоритм: Unavailable ..\CONF\ProxyDisabled.html
  4. Пришлось сделать 2 группы, так как добавление ролей в группы пока недоступно.Все работает, но есть одно неудобство, тарифные планы срабатывают по порядку их добавления, и если, к примеру, мне нужно будет добавить другой тарифный план, то перед этим надо будет удалить 3.ТП, иначе дело до него не дойдет.
Может добавить поле "порядок срабатывания тарифов"?
Хотя, если добавятся суммирование квот, то порядок срабатывания будет неважен... И придется делать по другому.
ac пишет: Или можно сделать как с правами доступа — там суммируются права из всех сработавших записей ACL, а здесь мы можем суммировать трафик по всем тарифным планам, которые подходят пользователю по заданным в таблице условиям. Тогда если пользователю надо увеличить квоту — просто включается доп.тарифный план, где это увеличение записано для этого пользователя. Удобно так будет?

Если делать суммирование, то может выход в моей ситуации, было бы добавление сроков квоты, до какого числа она работает, если 0 то всегда.
Тогда всегда можно было бы эту квоту добавить, изменив просто время ее жизни...
wikipost
ac25.08.2010 02:45
http://www.eserv.ru/download/acWEB4_2010-08-25_1.rar — добавлено поле "приоритет", а также время активности тарифного плана (интервал дат). Старые тар.планы менять не обязательно — если время не задано (отображается как 1970й год), то не учитывается при выборе.

P.S. Возвращен подсчет трафика веб-сервера, но отдельными от прокси счетчиками (видны в общем списке с суффиксами _http). Т.е. на пользование веб-сервером тоже можно устанавливать квоты, вдруг пригодится
wikipost
ac25.08.2010 03:42
http://www.eserv.ru/download/acWEB4_2010-08-25_2.rar — HTTP-счетчики отделены в раздел HTTP-сервера, а также добавлена сортировка в эти таблички.
wikipost
ili_a25.08.2010 11:29
ac пишет: добавлено поле "приоритет", а также время активности тарифного плана (интервал дат). Старые тар.планы менять не обязательно — если время не задано (отображается как 1970й год), то не учитывается при выборе.
Отличное решение! И никакого суммирования квот не надо (может только к путанице привезти).

Исчерпал свою 2мб квоту. Сделал еще одну с большим приоритетом и сроком жизни 15 минут, все работает, вторая квота мне дала поработать эти 15 минут и после этого отключилась.

Второй день офис сидит на proxy Е4, полет нормальный.

Ждем статистику ТП для пользователей
wikipost
ili_a25.08.2010 11:34
Если в полях Действие с по удалить данные, то потом в них выдается (Error: 1073741819). ТП работает как бессрочное. Может, автоматом прописывать 1970 год, если поле пустое (как и при создании)?
wikipost
ac27.08.2010 04:07
ili_a пишет: (Error: 1073741819)

http://www.eserv.ru/download/acWEB4_2010-08-27_1.rar
wikipost
ili_a03.09.2010 11:09
Пожелания.
Для более визуального восприятия в тарифы и статистику добавить разделитель сотен, а то высчитывать количество цифр для примерного понимания не очень удобно.
wikipost
ili_a01.03.2011 15:03
Почему то не всегда срабатывает связка проект-роль.
Сделал проект "proxy", добавляю учетные записи, назначаю им роли.
Тариф срабатывает только при указании проекта, если в тарифе прописываешь роль, пускает дальше
wikipost
ac02.03.2011 04:14
Попробуйте сегодняшнее обновление. Там роли обрабатываются как в ACL, а не так прямолинейно как раньше.
wikipost
Работает на Eserv/5.05567 (10.02.2020)