Модераторы: marykone

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как хранить статистику трафика? 
V
    Опции темы
konshyn
Дата 10.6.2014, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Добрый день. 
Собственно сам предмет обсуждения: как хранить статистику трафика? Где хранить? 
Что входит в статистику: количество пакетов в период времени 1 сек (входящих/исходящих), кол-во байт в единицу времени 1 сек (входящий/исходящий).
Есть 6 различных сетевых интерфейсов, для которых будет храниться статистика. По этим данных нужно будет рисовать график на web-страничке.
Как это делается? Как правильно сделать и почему?


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
Akina
Дата 10.6.2014, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 22
Всего: 454



Цитата(konshyn @  10.6.2014,  12:33 Найти цитируемый пост)
Что входит в статистику: количество пакетов в период времени 1 сек (входящих/исходящих), кол-во байт в единицу времени 1 сек (входящий/исходящий).

ТО есть ни адрес источника, ни адрес приёмника, ни протокол и прочая фигня не нужны? ну так сливай это всё в какую-нить БД, делов-то... 6 интерфейсов, 6 записей в секунду по 4 интеджера плюс штамп времени, полгига в год - мелочь.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
konshyn
Дата 10.6.2014, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Цитата(Akina @  10.6.2014,  12:37 Найти цитируемый пост)
ТО есть ни адрес источника, ни адрес приёмника, ни протокол и прочая фигня не нужны? ну так сливай это всё в какую-нить БД, делов-то... 6 интерфейсов, 6 записей в секунду по 4 интеджера плюс штамп времени, полгига в год - мелочь. 

Не совсем. Есть и протокол, и задержки пакетов, и потери.
Для каждой задержки должна быть своя запись. Для каждого протокола тоже отдельная запись. За прошлые сутки вышло 2 млн записей. И это не всю статистику записывал.


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
tzirechnoy
Дата 10.6.2014, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



График рисовать для начала rrdtoolом. Соответственно, аггрегированную статистику складывать, видимо, в него. Неаггрегированную... 2 млн записей/сутки -- можно тожэ в него, на самом деле. Но это так, близко к разумному пределу.
PM MAIL   Вверх
konshyn
Дата 10.6.2014, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



tzirechnoy, спасибо. То, что нужно)


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
konshyn
Дата 20.6.2014, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Пытаюсь сделать графики через rrdtool.
Использую python.
Не могу понять, как мне получать данные  сколько байт было отправлено и получено на интерфейсах, и как мне организовать передачу данных с моего приложения (написано на с++) в базу данных rr?


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
tzirechnoy
Дата 22.6.2014, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



<quote>&gt;Не могу понять, как мне получать данные  сколько байт было отправлено и
&gt; получено на интерфейсах</quote>

Взять исходники, например, collectd или netsaint и посмотреть, как там сделано. Ну, или ifconfig. Но лучшэ -- collectd. И вообще, этих мониторилок -- дофига, если тебе надо только сколько байт отправлено и получено -- то зачем писать свою?

<quote>&gt;и как мне организовать передачу данных с моего приложения (написано на
&gt; с++) в базу данных rr?</quote>

Так python или C++?

В любом случае, для python поиск по rrdtool python API выдаёт какие-то довольно вменяемые библиотеки, а для C -- в комплекте есть librrd, в котором из rrd.h можно понять смысл всяких rrd_update_r().
PM MAIL   Вверх
konshyn
Дата 23.6.2014, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Цитата(tzirechnoy @  22.6.2014,  11:49 Найти цитируемый пост)
Так python или C++?

приложение на с++, а графики собирался через питон делать.


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
konshyn
Дата 23.6.2014, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Что нужно смотреть, в общем-то:
1) CPU
2) Memory
3) NTP
4) Traffic (для начала общий,  в последствии нужно по отдельным протоколам)
5) Данные, которые я собираю в своем приложении, которое написано на С++.

Собираюсь все это делать на python, или почти все - создание базы данных, занесение, html страничку.
Так вот, данные с моего приложения планирую просто записывать в файл, а на питоне его парсить и заносить в rrdb.
для cpu нашел библиотеку kvm, но на Си; для трафика пока что ничего не нашел, кроме вывода ifconfig. NTP и memory пока не трогаю, в последнюю очередь. хоть бы с этим разобраться.
так вот, не могу понять, как это все собрать в кучу. собственно вопросы:
1) Когда rrdb создана, как туда каждые --steps заносится информация? Я так понял, что нужно написать скрипты, которые будут это делать и запускаться каждые --steps секунд. Допустим я эти скрипты написал, как сделать, чтобы они запускались переодически? С созданием графа тоже самое, похоже.
2) Откуда получать информацию о трафике?
3) насчет kvm, так планирую сделать тоже самое, как и со своим приложением. Написать отдельную программу, которую запускает скрипт, а после ее окончания парсит инфу с файла.

P.S. но конкретного понимания не имею, как это все собрать. 


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
tzirechnoy
Дата 23.6.2014, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Взять collectd, в котором 99.7% ужэ написана.
PM MAIL   Вверх
konshyn
Дата 23.6.2014, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Цитата(tzirechnoy @  23.6.2014,  13:02 Найти цитируемый пост)
Взять collectd, в котором 99.7% ужэ написана. 

Чем рисовать тогда графики? rrdtool?

Добавлено через 18 секунд
Имею в виду, что посоветовать можешь?


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
tzirechnoy
Дата 23.6.2014, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Цитата
Чем рисовать тогда графики? rrdtool?


Основной метод рисования графиков в collectd -- именно rrdtool. Впрочем, ещё раз: взять collectd или другой демон и именно его использовать, поскольку это и есть практически решэние твоей задачи -- это хорошая идея. Но если не хочешь почему-то, и хочешь написать свой -- возьми хотя бы исходник, и посмотри, как сделаны вещи, которых не знаешь совсем.
PM MAIL   Вверх
konshyn
Дата 7.7.2014, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 295
Регистрация: 19.9.2013

Репутация: нет
Всего: нет



Решил использовать cacti для сбора и отрисовки статистики. как написать к нему плагин или что-то похожее, чтобы cacti мог рисовать график по моим данным (данным, которые собирает мой демон)?


--------------------
«Потому что ценность акта действия в этой стране возрастает в несколько раз».
PM MAIL Skype   Вверх
_zorn_
Дата 8.7.2014, 04:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 2
Всего: 12



В какти есть Data Input Method - Script/Command куда можешь прописать свой скрипт. 
Если на каждое значение нужен один график - скрипт должен выводить одно число, а в Input методе будет одно поле Output Fields. Какое именно значение выводить, можно определить например параметром передаваемым скрипту.
Если нужно несколько значений на одном графике - можешь посмотреть как сделано в "Unix - Get Load Average" (скрипт perl <path_cacti>/scripts/loadavg_multi.pl)
PM MAIL   Вверх
polls
Дата 8.7.2014, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 8.7.2014

Репутация: нет
Всего: -1



на сервере запускаешь что то вроде tcpdump, чтобы он писал в файл,
далее,
пишешь к этом txt-файлу веб-интрфейс, через который можно будет визуально смотреть, что пишется в этот файл, и через ajax обновлять постоянно веб интерфейс.

В общем так должно быть верно.

Добавлено через 2 минуты и 46 секунд
я могу тебе помочь в этом,
напиши мне в ЛС,
возможно и получится.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Сетевые технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1316 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.