Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
gooamoko
Зарегистрирован: 26.12.2003 Сообщения: 98
|
Добавлено: Чт Ноя 10 2005 10:05 Заголовок сообщения: Траффик по интерфейсам |
|
|
Здравствуйте.
Есть проблема: Нужна информация по входному и выходному траффику на интерфейсах (т.е. сколько байт передано и получено на отдельном интерфейсе).
Считать параметры можно, обработав netstat -i или ifconfig, но как очистить счетчики на интерфейсе после того как параметры считаются?
Есть какая-нибудь комманда, которая обнуляет эти данные?
Желательно обнулить данные счетчика RX и TX без перезапуска самого интерфейса.
Заранее благодарен. _________________ Что один сделал, другой завсегда сломать сможет |
|
Вернуться к началу |
|
|
gooamoko
Зарегистрирован: 26.12.2003 Сообщения: 98
|
Добавлено: Чт Ноя 10 2005 10:09 Заголовок сообщения: |
|
|
Если кому-то интересна операционная система - Fedora Core 1. _________________ Что один сделал, другой завсегда сломать сможет |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Чт Ноя 10 2005 23:06 Заголовок сообщения: |
|
|
Угу. Может еще захочешь, чтобы и пакеты в момент обнуления не передавались?!
Неправильной дорогой идете товарищ!!!
Надо все лишь немного подумать. Рассуждаем.
Начальные условия:
Счетчик наверняка 32-х битный, т.е. максимальное значение 4 Гига.
Карточка 100 мегабит на полной скорости передаст в секунду не более 12.5 Мегабайт.
Гигабитная - 125 Мегабайт.
Считываем значение. Если оно больше предыдущего, то обнуление не произошло. Если меньше, то истинное значение равно "4Гига"-"Предыдущее значение"+"Текущее значение".
4*1024/12.5 = 327 сек для Fast Ethernet
4*1024/125 = 32 сек для Gigabit
Для обработки скрипта тоже требуется время. Пусть 2-3 сек.
Правильный ответ: Чтобы учитывать трафик и не иметь проблем с потерями надо опрашивать состояние интерфейса на реже чем раз в 325 сек на линиях 100 мегабит и не реже чем раз в 32 сек на 1000 мегабитных линках. Для правильного учета надо хранить предыдущее состояние. Выкладки представлены для критических случаев, в реальной жизни данные с такой скоростью продолжительное время не передаются (бывают только пиковые нагрузки), поэтому время опроса можно и увеличить, но величина эта зависит от реальной загрузки линков.
Математика - офигительная наука!
Думаю не стоит объяснять как посчитать сколько прошло трафика между опросами? |
|
Вернуться к началу |
|
|
fLamer
Зарегистрирован: 05.04.2004 Сообщения: 462 Откуда: Тула
|
Добавлено: Пт Ноя 18 2005 11:30 Заголовок сообщения: |
|
|
а что на счёт iptables + ipac ?
вообще достаточно и одного iptables. всё зависит от важности сохранения счётчика байт при очень редких сбоях или рестартах |
|
Вернуться к началу |
|
|
gooamoko
Зарегистрирован: 26.12.2003 Сообщения: 98
|
Добавлено: Ср Ноя 23 2005 05:17 Заголовок сообщения: |
|
|
C iptables я вроде нормально. Есть определенный набор правил. Но просто возникла потребность просмотра актичности по интерфейсам. Вот и решил что решить можно следующими способами:
1. Переделать скрипт на iptables
2. Считать по интерфейсам через ifconfig или что-то наподобии (/proc/...)
3 Поискать готовое решение.
На данный момент использую программку vnstat, которая делает отчеты по суточной активности.
Огромное спасибо and3008 за то, что придал уверенности моим предположениям. Я думал, что это не самый лучший способ, собственно, потому и спросил. _________________ Что один сделал, другой завсегда сломать сможет |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Ср Ноя 23 2005 23:19 Заголовок сообщения: |
|
|
Если вам нужно просто считать байты - используйте данные ifconfig.
Если вам нужно "точечно" считать трафик. Например сколько дядя Вася, сидящий на IP:10.1.1.1 скушал нынче трафика, то iptables. Только он вам даст правильный ответ.
Попытки считать WWW-трафик обычно обречены на неудачу. Далеко не все хосты используют в качестве порта, порт 80, а уж как считать трафик от Internet-приложений - вообще фиг знает. Лучше WWW-трафик считать по остаточному принципу.
Сосчитал почту, сосчитал DNS, сосчитал ICMP, умножил на 2/3 ( 1/3 - это служебный трафик IP, который не убавишь) - все остальное WWW.
Чистое WWW = Все остальное * 2/3
|
|
Вернуться к началу |
|
|
gooamoko
Зарегистрирован: 26.12.2003 Сообщения: 98
|
Добавлено: Чт Ноя 24 2005 04:12 Заголовок сообщения: |
|
|
Про iptables - в курсе.
Именно на нем и работает учет для пользователей. Разделения по протоколам нет, если только в задумках, так что решение у меня проще.
Задача стояла в том, чтобы считать траффик именно по интерфейсу. Дело в том, что у нас ограничение на объем траффика за определенную стоимость. Чтобы не платить больше надо хотя бы примерно контролировать нашу активность на внешнем интерфейсе. Ну, а где можно легче всего посмотреть сумму принятого/отправленного трафика, как не в виртуальной файловой системе? Это - первое, что пришло в голову. Потом - начались раздумья на тему как оттуда корректно достать данные, ну и, собственно, возникла данная тема :). _________________ Что один сделал, другой завсегда сломать сможет |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Чт Ноя 24 2005 21:13 Заголовок сообщения: |
|
|
Ну решение я дал. Дальше сами.
|
|
Вернуться к началу |
|
|
|