NetFlow + mySQL

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
kuzmichev
мл. сержант
Сообщения: 83
Зарегистрирован: 2009-06-01 14:31:39

NetFlow + mySQL

Непрочитанное сообщение kuzmichev » 2010-12-01 12:49:58

Здравствуйте всем!
Передо мной стоит такая задача:
собирать данные по проходящему через шлюз трафику и складировать его в mySQL.
И ведь, вроде бы, тривиальная задача! Ан нет!
Долго рылся и ковырялся Netflow-tools напрямую в мускуль не пишут, как я понял. Искал другое решение.
Нашел Netams. Поставил, настроил, запустил. даже начало что то собираться. Но что там пишется в базу я так и не понял. к примеру, вот кусок из таблицы summary:

Код: Выделить всё

+--------+----------+------------+------------+----------+-----------+
| prefix | unit_oid | policy_oid | t_from     | bytes_in | bytes_out |
+--------+----------+------------+------------+----------+-----------+
| H      |   836459 |     531753 | 1291107600 |        0 |     52680 |
| H      |   412397 |     919245 | 1291168800 |        0 |     54708 |
| H      |   697473 |     919245 | 1291168800 |        0 |     54708 |
...
| H      |   263330 |     919245 | 1291168800 |    27441 |    110778 |
| H      |   412397 |     919245 | 1291172400 |        0 |     17960 |
| H      |   697473 |     919245 | 1291172400 |        0 |     17960 |
| H      |   263330 |     919245 | 1291172400 |     6411 |     40714 |
+--------+----------+------------+------------+----------+-----------+
Или вот, таблица raw:

Код: Выделить всё

mysql> select*from raw;
+----------+------------+------------+------------+----------+-----------+
| unit_oid | policy_oid | t_from     | t_to       | bytes_in | bytes_out |
+----------+------------+------------+------------+----------+-----------+
|   836459 |     531753 | 1291109736 | 1291109904 |        0 |       702 |
|  1032918 |     531753 | 1291109736 | 1291109904 |        0 |       702 |
|   887177 |     531753 | 1291109736 | 1291109904 |     1488 |      4292 |
|   412397 |     919245 | 1291109908 | 1291110103 |        0 |      3234 |
|   697473 |     919245 | 1291109908 | 1291110103 |        0 |      3234 |
а мне нужно что то в духе:
src IP | src port | dst IP | dst port
При чем, в обоих направлениях, не только изнутри сетки.
ну и количество переданных байт.
в общем, либо не настроил толком это складирование, либо нетамс где сыроват. в вэб морде что то отображается, но только общий трафик. даже не считается трафик по указанным http и mail.
потом взялся за flowc. вроде бы то, что нужно, но оказалось, что собирается трафик только с Cisco, а у менял линукс на выходе.
в итоге решил попробовать netflow2mysql, по описанию, это именно то, что мне нужно. голый flow записывать в БД. но его фиг найдешь, в портах о нем ни слова, скачал какие-то архивы с
http://www.daniels.id.au/debian/netflow2mysql/i386/
но это явно не пакет для FreeBSD.
источников Netflow в итоге может быть несколько. но пока что он один.
Дайте совет, пжлста, потому что я пока что в тупике. Спасибо за внимание!
Последний раз редактировалось f_andrey 2010-12-01 13:23:49, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: NetFlow + mySQL

Непрочитанное сообщение hizel » 2010-12-01 13:32:34

flow-tools-ng умеет, собирать с WITH_MYSQL

дурацкая идея
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

kuzmichev
мл. сержант
Сообщения: 83
Зарегистрирован: 2009-06-01 14:31:39

Re: NetFlow + mySQL

Непрочитанное сообщение kuzmichev » 2010-12-01 14:02:47

hizel писал(а): дурацкая идея
А почему? просветите уж.

Аватара пользователя
buryanov
ст. сержант
Сообщения: 311
Зарегистрирован: 2008-04-29 13:41:48
Откуда: Харьков
Контактная информация:

Re: NetFlow + mySQL

Непрочитанное сообщение buryanov » 2010-12-02 17:29:10

Вам необходимо определится с тем, за какой промежуток вас интересует трафик и насколько детализированый, потомучто хранение данных в необработоном виде - это потом тяжкая довольно задача их обрабатывать, особенно если большой поток трафика. Можно сразу прописать тригер, который будет всё считать и удалять ненужное. При этом надо помнить, что за день набегает довольно большое колличество пар src_ip,port-dst_ip,port. К примеру загрузка данных 12824508 строк за 1 день занимает 59 минут на Dual Core E5400 с одновременным подсчётом трафика.

Код: Выделить всё

mysql> select*from traff_p2p limit 10;
+---------------+----------+----------------+----------+------------+---------+------+
| src_ip        | src_port | dst_ip         | dst_port | date       | octets  | pkts |
+---------------+----------+----------------+----------+------------+---------+------+
| 174.36.30.37  | 80       | 82.117.        | 16059    | 2010-12-01 |   84388 |  584 |
| 10.113.1.2    | 45644    | 94.100.184.11  | 80       | 2010-12-01 |    1602 |    9 |
| 84.240.20.152 | 59248    | 82.117.        | 19612    | 2010-12-01 |     288 |    6 |
| 10.113.1.2    | 48955    | 174.36.30.37   | 80       | 2010-12-01 |   91396 |  292 |
| 10.4.2.107    | 8081     | 10.4.250.1     | 32678    | 2010-12-01 |   17329 |   22 |
| 94.210.10.181 | 443      | 82.117.        | 52311    | 2010-12-01 | 1113198 | 7797 |
| 94.100.189.32 | 80       | 82.117.        | 45656    | 2010-12-01 |    1057 |    6 |
| 94.100.189.32 | 80       | 82.117.        | 45657    | 2010-12-01 |    1057 |    6 |
| 10.4.30.134   | 19612    | 87.253.10.92   | 24766    | 2010-12-01 |     190 |    2 |
| 10.4.30.134   | 19612    | 95.182.105.110 | 26831    | 2010-12-01 |     190 |    2 |
+---------------+----------+----------------+----------+------------+---------+------+
10 rows in set (0.10 sec)
mysql> select count(*)from traff_p2p limit 10;
+----------+
| count(*) |
+----------+
|  4825032 |
+----------+
1 row in set (0.00 sec)
mysql> select count(*)from raw limit 10;
+----------+
| count(*) |
+----------+
| 12824508 |
+----------+
1 row in set (0.00 sec)

Потом необходимо будет отфильтровать и погрупировать весь трафик. В принципе задача не сложная.
hizel писал(а):flow-tools-ng умеет, собирать с WITH_MYSQL
вам в помощь, плюс поищите по форуму, тема уже неоднократно обсуждалась.
Дмитрий.
buryanov*ukr.net
icq# 118639660; skype: buryanov