Модераторы: 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   Вверх
konshyn
Дата 8.7.2014, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(_zorn_ @  8.7.2014,  04:10 Найти цитируемый пост)
Если нужно несколько значений на одном графике - можешь посмотреть как сделано в "Unix - Get Load Average" (скрипт perl <path_cacti>/scripts/loadavg_multi.pl) 

дам 12 строк, и единственная понятная - это первая строка)
там есть строчка 
Код

$avg = ~ s/^....куча кракозябр

что она значит?



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


Эксперт
***


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

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



Запусти -- результат должэн быть очевиден, по образу и подобию результат пишы на чём угодно.
 Впрочем, непосредственно на веб-сайте cacti есть примеры скриптов в совершэнно разных стилях, выбирай на вкус как говорится.

PS Да, =~ -- это перловский оператор сопоставления с регулярным выражэнием. perldoc perlre, если интересно.
PM MAIL   Вверх
_zorn_
Дата 9.7.2014, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(konshyn @  8.7.2014,  19:58 Найти цитируемый пост)
что она значит?

Знакомься, это регекспы smile
Первая реакция на них такая же была smile

Добавлено @ 06:05
Цитата(polls @  8.7.2014,  18:14 Найти цитируемый пост)
на сервере запускаешь что то вроде tcpdump, чтобы он писал в файл,
далее,
пишешь к этом txt-файлу веб-интрфейс

Зачем ? Это все реализовано в какти через snmp. Стандартные OIDы ifTable.
И когда это tcpdump научился писать txt файлы вместо pcap ?

Это сообщение отредактировал(а) _zorn_ - 9.7.2014, 06:11
PM MAIL   Вверх
konshyn
Дата 9.7.2014, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(_zorn_ @  9.7.2014,  05:57 Найти цитируемый пост)

Зачем ? Это все реализовано в какти через snmp. Стандартные OIDы ifTable.

у меня cacti на самой машине стоит, которую я мониторю. и захожу на него через web-сервер.



Цитата(_zorn_ @  9.7.2014,  05:57 Найти цитируемый пост)

Знакомься, это регекспы smile
Первая реакция на них такая же была smile

попридумывают всего, а ты сиди и разбирайся:(



Цитата(_zorn_ @  9.7.2014,  05:57 Найти цитируемый пост)
И когда это tcpdump научился писать txt файлы вместо pcap ?

pcap был написан специально для tcpdump. логично, что tcpdump может скидывать информацию о пакетах в файлы, как pcap.

но все, что мне нужно - это график по одной переменной. у меня мой сетевой демон собирает статистику, пока делает свои грязные дела, в три переменные - min,max,avg. и все, что нужно - это график по переменной avg и внизу две строчки под графиком для min и max. И пока что мне нужно понять, куда и как часто скидывать эти три переменные, чтобы мой скрипт для cacti брал эти числа и отдавал их на рисование графика.

Добавлено через 3 минуты и 26 секунд
Цитата(konshyn @  9.7.2014,  10:38 Найти цитируемый пост)
у меня cacti на самой машине стоит, которую я мониторю. и захожу на него через web-сервер.

Хотя вроде он и локально по snmp собирает статистику. или я ошибаюсь?


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


Опытный
**


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

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



Еще не могу найти, где меню для мониторинга трафика. Это нужно отдельный плагин ставить?
Когда я в cacti в настройках devices->host template выбираю local linux machine, то внизу в полях Associated Graph Templates->Graph Template Name->add graph template нет ничего похоже на мониторинг сетевого интерфейса, только кол-во пользователей, загрузка cpu, память и т.п.
Где найти мониторинг трафика? 


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


Опытный
**


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

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



В принципе, я уже понял как это делается. 
Спасибо.


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


Эксперт
***


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

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



Цитата
И когда это tcpdump научился писать txt файлы вместо pcap ?


Одновременно со своим появляением на свет.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Сетевые технологии | Следующая тема »


 




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


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

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