The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Подсчет траффика на интерфейсе"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Подсчет траффика на интерфейсе"  +/
Сообщение от vladsol (ok) on 20-Май-09, 19:00 
Здравствуйте!

ОС FreeBSD 7.1-RELEASE

Озадачили вопросом - нужно считать траффик на интерфейсе сервера.
Кол-во ОЗУ там ограничено, поэтому очень не хочется, чтобы SNMPd постоянно в памяти висел.

Кто-нибудь сталкивался с подобной проблемой? Если да - как решалось?
Подумывал я брать данные скриптом из netstat -ib, но думаю, что погрешность "измерений" будет очень большая. Существуют ли консольные программки, которые просто бы выводили данные значения? (как тот нетстат, к примеру - кол-во бит К/ОТ)?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Подсчет траффика на интерфейсе"  +/
Сообщение от Pahanivo email(ok) on 20-Май-09, 19:03 
>[оверквотинг удален]
>
> Озадачили вопросом - нужно считать траффик на интерфейсе сервера.
>Кол-во ОЗУ там ограничено, поэтому очень не хочется, чтобы SNMPd постоянно в
>памяти висел.
>
>Кто-нибудь сталкивался с подобной проблемой? Если да - как решалось?
> Подумывал я брать данные скриптом из netstat -ib, но думаю, что
>погрешность "измерений" будет очень большая. Существуют ли консольные программки, которые просто
>бы выводили данные значения? (как тот нетстат, к примеру - кол-во
>бит К/ОТ)?

ipa stat

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Подсчет траффика на интерфейсе"  +/
Сообщение от vladsol (ok) on 20-Май-09, 22:57 
>>[оверквотинг удален]
>>
>ipa stat

Честно говоря, в портах нашел только ipa (но, думаю, это не совсем то, что мне нужно).

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Подсчет траффика на интерфейсе"  +/
Сообщение от Jet (??) on 21-Май-09, 10:10 
>>>[оверквотинг удален]
>>>
>>ipa stat
>
>Честно говоря, в портах нашел только ipa (но, думаю, это не совсем
>то, что мне нужно).

можно снимать статистику прямо с файрвола... куда уж точнее :)
ipfw show

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Подсчет траффика на интерфейсе"  +/
Сообщение от Pahanivo email(ok) on 21-Май-09, 12:33 
>>>>[оверквотинг удален]
>>>>
>>>ipa stat
>>
>>Честно говоря, в портах нашел только ipa (но, думаю, это не совсем
>>то, что мне нужно).
>
>можно снимать статистику прямо с файрвола... куда уж точнее :)
>ipfw show

для особо одаренных
ipa как раз и снимает корректно трафик с ipfw
нагрузка на проц - ПРОТО НИКАКОЙ НЕТ!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Подсчет траффика на интерфейсе"  +/
Сообщение от Jet (??) on 21-Май-09, 14:22 
>[оверквотинг удален]
>>>
>>>Честно говоря, в портах нашел только ipa (но, думаю, это не совсем
>>>то, что мне нужно).
>>
>>можно снимать статистику прямо с файрвола... куда уж точнее :)
>>ipfw show
>
>для особо одаренных
>ipa как раз и снимает корректно трафик с ipfw
>нагрузка на проц - ПРОТО НИКАКОЙ НЕТ!

особо одаренным непонятен формат команды ipfw show  ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Подсчет траффика на интерфейсе"  +/
Сообщение от vladsol (ok) on 21-Май-09, 14:56 
>>[оверквотинг удален]
>
>особо одаренным непонятен формат команды ipfw show  ?

Это вы друг с другом спорите, типа что лучше? Или оба пытаетесь меня оскорбить?

Я по поводу ipfw ничего и не говорил, в принципе.
Спасибо за подсказку, меня такой вариант устраивает :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Подсчет траффика на интерфейсе"  +/
Сообщение от Pahanivo email(ok) on 21-Май-09, 16:22 
>[оверквотинг удален]
>>>>то, что мне нужно).
>>>
>>>можно снимать статистику прямо с файрвола... куда уж точнее :)
>>>ipfw show
>>
>>для особо одаренных
>>ipa как раз и снимает корректно трафик с ipfw
>>нагрузка на проц - ПРОТО НИКАКОЙ НЕТ!
>
>особо одаренным непонятен формат команды ipfw show  ?

особо одаренные будут искать нужные в сотни правил ipfw?
особо одаренные в уме пересчитывают счетчики с учетом их сброса?
особо одаренные не учитывают ручной сброс счетчиков и сброс при перезагрузках?
особо одаренные не умеют искать в портах?


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

для особо одаренных
usr/ports/net/ipa_ipfw

IPA_IPFW -- IPA accounting module for FreeBSD IP Firewall

Main features:

- The module is designed for traffic accounting from FreeBSD IP
  Firewall (including IPFW2) rules byte counters;
- The module understands IP Firewall rules byte counters overflow;
- It is possible to summarize and subtract statistics from IP Firewall
  rules byte counters;
- It is possible to distinguish IP Firewall rules with the same
  numbers;
- IP Firewall rules can be dynamically added to and deleted from

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Подсчет траффика на интерфейсе"  +/
Сообщение от Jet (??) on 21-Май-09, 16:31 
>на надо быть особо одаренным, особенно когда все за тебя уже сделано.

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Подсчет траффика на интерфейсе"  +/
Сообщение от Pahanivo email(ok) on 21-Май-09, 16:55 
>>на надо быть особо одаренным, особенно когда все за тебя уже сделано.
>
>Чтобы хамить и гнуть пальцы- достаточно быть просто бездарным...

простите что задел вашу ранимую душу ... бездарный вы наш ...
>Но кажется человек который спрашивал совета уже удовлетворился решением...так что вы выступаете
>тут в пустоту...

готов поспорить - данный форум не только для помощи конкретным людям - также есть целая куча людей которая умеет пользоваться поиском и найдет решение данной проблемы не создавая новый топ

да и я с гуглом его частенькр индексируют )

ЗЫ мохз он чобы дууумать ...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Подсчет траффика на интерфейсе"  +/
Сообщение от Jet (??) on 21-Май-09, 17:07 
>>>на надо быть особо одаренным, особенно когда все за тебя уже сделано.
>>
>>Чтобы хамить и гнуть пальцы- достаточно быть просто бездарным...
>
>простите что задел вашу ранимую душу ... бездарный вы наш ...

хамите и гнете пальцы вы а не я... так что... :)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Подсчет траффика на интерфейсе"  +/
Сообщение от Аноним (??) on 22-Май-09, 16:13 
>хамите и гнете пальцы вы а не я... так что... :)

Да не обращайте на него внимания, он уже неоднократно тут опозорился, проявив редкостное ламерство, и при этом все продолжает хамить и нести чушь.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Подсчет траффика на интерфейсе"  +/
Сообщение от Pahanivo email(ok) on 22-Май-09, 21:04 
>>хамите и гнете пальцы вы а не я... так что... :)
>
>Да не обращайте на него внимания, он уже неоднократно тут опозорился, проявив
>редкостное ламерство, и при этом все продолжает хамить и нести чушь.
>

ваше ... я неадекват ...
ананим всегда прав!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Подсчет траффика на интерфейсе"  +/
Сообщение от artemrts email(ok) on 22-Май-09, 17:24 
>[оверквотинг удален]
>
> Озадачили вопросом - нужно считать траффик на интерфейсе сервера.
>Кол-во ОЗУ там ограничено, поэтому очень не хочется, чтобы SNMPd постоянно в
>памяти висел.
>
>Кто-нибудь сталкивался с подобной проблемой? Если да - как решалось?
> Подумывал я брать данные скриптом из netstat -ib, но думаю, что
>погрешность "измерений" будет очень большая. Существуют ли консольные программки, которые просто
>бы выводили данные значения? (как тот нетстат, к примеру - кол-во
>бит К/ОТ)?

   Здаров.
   Скажу, что сам очень долго искал метод подсчета траффика, который был бы точным и с мин. потреблением системных ресурсов.
  Остановился на следующем: ng_ntflow + flow-tools.
  Для этого в ядро нада вкомпилить потдержку netgraph.
  Реализация:
1. Снимаем флоу-поток с интерфейса.

  #!/bin/sh

# PROVIDE: ngnetflow
# REQUIRE: DAEMON
# KEYWORD: shutdown

. /etc/rc.subr

name="ngnetflow"
rcvar=`set_rcvar`
command="/usr/sbin/ngctl"
load_rc_config $name
: ${ngnetflow_enable="NO"}
: ${ngnetflow_iface=""}
: ${ngnetflow_dst=""}

start_cmd="${name}_start"
stop_cmd="${name}_stop"

ngnetflow_start() {
/usr/sbin/ngctl -f- <<-SEQ
mkpeer ${ngnetflow_iface}: netflow lower iface0
name ${ngnetflow_iface}:lower netflow
connect netflow: ${ngnetflow_iface}: iface1 upper
connect netflow: netflow: out0 out1
mkpeer netflow: ksocket export inet/dgram/udp
name netflow:export ksocket
msg ksocket: connect inet/${ngnetflow_dst}
SEQ
}

ngnetflow_stop() {
/usr/sbin/ngctl -f- <<-SEQ
shutdown netflow:
SEQ
}

run_rc_command "$1"

естественно, прописываем в /etc/rc.conf параметры

ngnetflow_enable=""
ngnetflow_iface=""
ngnetflow_dst=""

думаю, тут все понятно.

2. С помощью flow-tools захватываем и обрабатываем данные.

#!/bin/sh

RPT_Y=`/bin/date -v-1d +%Y`
RPT_M=`/bin/date -v-1d +%m`
RPT_D=`/bin/date -v-1d +%d`

RPT_DIR="/usr/local/www/data"
RPT_DATE=${RPT_Y}-${RPT_M}-${RPT_D}
RPT_NAME=${RPT_DIR}/${RPT_DATE}.html
FLOW_DIR="/var/db/flows"
INDEX="/usr/local/www/data/index.html"

## WEB index.html

#echo -e "<HTML>\n<HEAD>\n<TITLE> Traffic statistics for LAN #Users</TITLE>\n</HEAD>\n<BODY>\n \
#<h2 align="center"><font color="blue">Traffic statistics for LAN Users</font></h2>" > #$INDEX
#echo -e "</BODY>\n</HTML>\n" >> ${INDEX}
echo -e "<p align="left"><a href="${RPT_DATE}.html"> Pere-IP statistics for LAN during \
<strong>${RPT_DATE}</strong></a></p>" >> ${INDEX}

Поясню вышенаписанное. Сначала надо раскоментировать первые 5 строк, что бы скрипт сгенерировал Индекс-страничку для страницы отчетов. Перед вторым запуском их надо закоментирвать, и тогда будут добавляться только ссылки на страницы с отчетами за определенный день.

## DOWNLOADED

echo -e "<HTML>\n<HEAD>\n<TITLE>${RPT_DATE}</TITLE>\n</HEAD>\n<BODY>\n<H2>${RPT_DATE} DOWNLOADED</H2>\n" > ${RPT_NAME}

/usr/local/bin/flow-cat ${FLOW_DIR}/${RPT_Y}/${RPT_Y}-${RPT_M}/${RPT_Y}-${RPT_M}-${RPT_D} \
|/usr/local/bin/flow-filter -f /usr/local/etc/flow-tools/flow.acl -Sinternet -Dlocalnet \
|/usr/local/bin/flow-report -s /usr/local/etc/flow-tools/report_down.conf -S localnet \
|/usr/local/bin/flow-rptfmt -f html -H -s -octets >> ${RPT_NAME}

echo -e "</BODY>\n" >> ${RPT_NAME}

### UPLOADED

echo -e "<BODY>\n<H2>${RPT_DATE} UPLOADED</H2>\n" >> ${RPT_NAME}

/usr/local/bin/flow-cat ${FLOW_DIR}/${RPT_Y}/${RPT_Y}-${RPT_M}/${RPT_Y}-${RPT_M}-${RPT_D} \
|/usr/local/bin/flow-filter -f /usr/local/etc/flow-tools/flow.acl -Slocalnet -Dinternet \
|/usr/local/bin/flow-report -s /usr/local/etc/flow-tools/report_up.conf -S localnet \
|/usr/local/bin/flow-rptfmt -f html -H -s -octets >> ${RPT_NAME}

echo -e "</BODY>\n</HTML>\n" >> ${RPT_NAME}

### REMOVE OLD

RM_Y=`/bin/date -v-4d +%Y`
RM_M=`/bin/date -v-4d +%m`
RM_D=`/bin/date -v-4d +%d`

rm -Rf ${FLOW_DIR}/${RM_Y}/${RM_Y}-${RM_M}/${RM_Y}-${RM_M}-${RM_D}

-----
flow.acl

ip access-list standard localnet permit 10.0.100.0 0.0.0.255
ip access-list standard localnet deny any
ip access-list standard internet deny 10.0.100.0 0.0.0.255
ip access-list standard internet permit any

-----
report_down.conf

stat-report localnet
    type ip-destination-address
    output
        format ascii
        options +header,+xheader,+totals
        fields -flows,-packets,-duration
stat-definition localnet
    report localnet
----
report_up.conf

stat-report localnet
    type ip-source-address
    output
        format ascii
        options +header,+xheader,+totals
        fields -flows,-packets,-duration
stat-definition localnet
    report localnet
-------
3. В крон записываем, что бы генерировался отчет:
  5       2       *       *       *       root /usr/local/etc/flow-tools/stat_daily.sh

4. Устанавливаем Apache, заходим на страничку и смотрим статистику.

Чего пока здесь нету? Хотелось бы выводить статистику за день не только по IP, но и суммарную по всей подсети. Но пока до этого руки не дошли, так что если кто допишет, киньте плиз.

Что бы это все реализовать мне помогли 2 статьи:
http://ylsoftware.com/news/492
http://tmp.barev.net/htmlart/unix/pres-ngnetflow.xml#1

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Подсчет траффика на интерфейсе"  +/
Сообщение от artemrts email(ok) on 22-Май-09, 17:28 
Забыл добавить.
В /etc/rc.conf добавляем запись на запуск flow-capture

flow_capture_enable="YES"
flow_capture_localip="127.0.0.1"
flow_capture_remoteip="127.0.0.1"
flow_capture_port="2001"
flow_capture_flags="-E 1024M -n 95 -N 3 -p /var/run/flow-capture/flow-capture.pid -V 5 -w /var/db/flows -z 9"

Удачи!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Подсчет траффика на интерфейсе"  +/
Сообщение от Pahanivo email(ok) on 22-Май-09, 21:11 
>[оверквотинг удален]
>В /etc/rc.conf добавляем запись на запуск flow-capture
>
>flow_capture_enable="YES"
>flow_capture_localip="127.0.0.1"
>flow_capture_remoteip="127.0.0.1"
>flow_capture_port="2001"
>flow_capture_flags="-E 1024M -n 95 -N 3 -p /var/run/flow-capture/flow-capture.pid -V 5 -w /var/db/flows
>-z 9"
>
>Удачи!

гыгыгы - нетфло типа совсем не грузит проц? ))
челу надо то было счетчики снимать

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Подсчет траффика на интерфейсе"  +/
Сообщение от artemrts (??) on 24-Май-09, 13:07 

>гыгыгы - нетфло типа совсем не грузит проц? ))
>челу надо то было счетчики снимать

Да ты прежде чем гыгыкать, поюзал бы такое решение на боевом серваке. У меня сервак слабенький (Селерон 2ГГц и сетевухи риалтеки 100мбит) пропускает за месяц до 3 Тбайт. И нормально все считается и сервер "не ложится" в отличии от решений типа захват пакетов на сетевухе с помощью libcap.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Подсчет траффика на интерфейсе"  +/
Сообщение от Pahanivo (??) on 24-Май-09, 21:43 
>
>>гыгыгы - нетфло типа совсем не грузит проц? ))
>>челу надо то было счетчики снимать
>
>Да ты прежде чем гыгыкать, поюзал бы такое решение на боевом серваке.
>У меня сервак слабенький (Селерон 2ГГц и сетевухи риалтеки 100мбит) пропускает
>за месяц до 3 Тбайт. И нормально все считается и сервер
>"не ложится" в отличии от решений типа захват пакетов на сетевухе
>с помощью libcap.

ты бы прочитал внимательно для начала топ - потом предлогал
чел говорит что для него snmpd запустить уже тяжко ибо машина слабая (или вы незнаете чем принципиально отличается сбор счетчиков с snmp от netflow ?) а ты говоришь про netflow.
селка 2Ггц это далеко не слабенький сервак - у меня например шлюзы робят на пнях 200 и селках 300
машины такова класса от нетфлоу загнуться нахрен

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Подсчет траффика на интерфейсе"  +/
Сообщение от artemrts email(ok) on 25-Май-09, 10:01 

>ты бы прочитал внимательно для начала топ - потом предлогал
>чел говорит что для него snmpd запустить уже тяжко ибо машина слабая
>(или вы незнаете чем принципиально отличается сбор счетчиков с snmp от
>netflow ?) а ты говоришь про netflow.
>селка 2Ггц это далеко не слабенький сервак - у меня например шлюзы
>робят на пнях 200 и селках 300
>машины такова класса от нетфлоу загнуться нахрен

  По поводу того, что то, что я предложил не совсем подходит автору поста может еще и соглашусь. Зато эта инфа может быть полезна еще кому-то.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Подсчет траффика на интерфейсе"  +/
Сообщение от megaanonym on 26-Май-09, 10:55 
ipacctd и к нему прикрутить скрипты от trafd. можно, к примеру, взять с сайта lisyara ру? или написать свои. если ваш целерон совсем беспощен то можно кидать логи на другую машину.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "Подсчет траффика на интерфейсе"  +/
Сообщение от Pahanivo email(ok) on 26-Май-09, 11:14 
>ipacctd и к нему прикрутить скрипты от trafd. можно, к примеру, взять
>с сайта lisyara ру? или написать свои. если ваш целерон совсем
>беспощен то можно кидать логи на другую машину.

угу и сесси которые этот демон хранит в памяти тоже хранить в озу другой машины?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру