Jump to content
Калькуляторы

Мониторинг канала занимаемого пользователем. Кто чем пользуется?

Опишу ситуацию.

Софт роутер FreeBSD (ipfw, dummynet). Внешний канал не резиновый и вечерами люди стали жаловаться. Я конечно предпринял некие шаги для ограничения тех-то и тех, но все же хочется сделать красиво.

 

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

1. трафик за период: последние минута, 10 мин, 30 мин, час, два, 4, и т.п. (это я и из базы могу дергать, но лучше хоть примерно, но на месте вычислять)

2. максимальная загрузка полосы, средняя загрузка

Ну вы поняли, динамический такой шейпинг, качаешь медленно - никто тебя не трогает, качнул сильно, на время ограничили, качаешь регулярно... и т.п.

Причем есть bandwithd, но его графики мне смотреть некогда, хочется как-нибудь автомат прикрутить.

 

Внешний канал увеличить не предлагать, это делается, но до того еще месяца два-три как-то жить надо...

Share this post


Link to post
Share on other sites

Ох нехорошо поступаете..

Я вот тут другую идею придумал

1-Основной потребитель трафика -торрент

2-Большинство крупных трекеров отдают retracker.local всем подряд

 

Далее идея

Абонент включил торрент - пошли пакеты на retracker.local (Зону .local понятное дело надо поднять) - ловим эти обращения -вычисляем IP и шейпим абонента.

Запросы перестали - перестали и мы шейпить. Осталось придумать как все это реализовать.

 

Share this post


Link to post
Share on other sites

Из готового - формально ipband.

Если сочинять собственный костыль - то можно смотреть изменение счётчиков в "ipfw pipe list"

и снижать скорость при превышении любого из нескольких лимитов для периодов разной длины.

Нечто похожее делает spamblock, считая количество smtp-соединений и блокируя превысивших.

Share this post


Link to post
Share on other sites

amx, а ntop пробовал? Все что ты перечислил там есть + iftop.

 

Edited by hub00

Share this post


Link to post
Share on other sites
amx, а ntop пробовал? Все что ты перечислил там есть + iftop.
Нет, не пробовал. Решил заранее спросить, чтобы поменьше левого ставить.

 

iftop зараза показывает пары хостов, а мне бы агрегацию по одной стороне.

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

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

 

Share this post


Link to post
Share on other sites
Ipband сходу в портах не был найден, вечером попробую, но кажется мне что там те же грабли.

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

Тут ещё следует учесть, что они оба работают через libpcap.

У меня ntop повысил загрузку процессора ровно вдвое.

Share this post


Link to post
Share on other sites

Ну никто не мешает просто настроить экспорт newtflow статистики наружу а ntop запускать на другом сервере. Это должно незначительно повысить нагрузку.

 

Share this post


Link to post
Share on other sites
iftop зараза показывает пары хостов, а мне бы агрегацию по одной стороне.
Кнопочку T потыкай.

 

 

Ну никто не мешает просто настроить экспорт newtflow статистики наружу а ntop запускать на другом сервере. Это должно незначительно повысить нагрузку.
это пожалуй самый ровный вариант - парси нетфлоу, пока парсилка не сдохнет, и рисуй уже что хочеш

 

Share this post


Link to post
Share on other sites
iftop зараза показывает пары хостов, а мне бы агрегацию по одной стороне.
Кнопочку T потыкай.

это пожалуй самый ровный вариант - парси нетфлоу, пока парсилка не сдохнет, и рисуй уже что хочеш

Кнопочка Т работает, но дает не тот результат :)

93.186.228.189 => 10.*.*.134 0b 5.49Kb 5.49Kb

93.186.225.69 => 10.*.*.134 12.9Kb 4.30Kb 4.30Kb

93.186.239.135 => 10.*.*.134 12.7Kb 4.24Kb 4.24Kb

93.186.238.112 => 10.*.*.134 0b 3.59Kb 3.59Kb

Мне не надо знать, сколько потоков у абонента 134, я хочу знать сколько оно вместе.

Share this post


Link to post
Share on other sites
iftop зараза показывает пары хостов, а мне бы агрегацию по одной стороне.
Кнопочку T потыкай.

это пожалуй самый ровный вариант - парси нетфлоу, пока парсилка не сдохнет, и рисуй уже что хочеш

Кнопочка Т работает, но дает не тот результат :)

93.186.228.189 => 10.*.*.134 0b 5.49Kb 5.49Kb

93.186.225.69 => 10.*.*.134 12.9Kb 4.30Kb 4.30Kb

93.186.239.135 => 10.*.*.134 12.7Kb 4.24Kb 4.24Kb

93.186.238.112 => 10.*.*.134 0b 3.59Kb 3.59Kb

Мне не надо знать, сколько потоков у абонента 134, я хочу знать сколько оно вместе.

netflow+ntop

Share this post


Link to post
Share on other sites

nfdump+nfsen будут красивые картинки

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this