Перейти к содержимому
Калькуляторы

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

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

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

 

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

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

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

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

 

Далее идея

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Изменено пользователем hub00

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

 

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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, я хочу знать сколько оно вместе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.