Hi-Tech Arduino Компьютеры Интернет
HV-Lab Reference Linux Форум
Справочники Libraries Windows Галерея
Электроника Hardware Hardware Загрузки
Печатные платы Forum Программирование Мини-чат
[ Февр 26, 07:42 ] admin: Форум перешел в разряд архивного.
[ Февр 24, 19:02 ] admin: переехали на новый сервер. Грядут перемены.
[ Фев 20, 08:38 ] кулибин: Переход на SSL был непрост (особенно с абсолютными путями на изображения, но мы его осуществили)
RSS статьи
 
Статьи

Статьи->Linux->RLN-статистика. Версия 0,5 [ Поиск ]

RLN-статистика. Версия 0,5 - В помощь системному администратору
Отправил: кулибин, Воскресенье, 31 Мая 2009 15:42
 Представляю вам на суд свою версию программы учета трафика.
Функций у нее пока мало — учет трафика разрабатывался под конкретные нужды за довольно небольшой промежуток времени. Перечислю их:
  1. Отображение трафика пользователя за любой период времени.
  2. Список пользователей позволяет отображать по ним общую статистику.
  3. Черный и белый список портов дает возможность либо не учитывать трафик по определенному порту вовсе, либо показывал отдельно по определенному порту — скажем по 8080-му. (при добавлении этой функции мне нужно было, чтобы веб-трафик к апач на шлюзе (его я поставил на 8080 порт) и трафик доступа к сетевым ресурсам на шлюзе в статистику не попадали)
  4. Update: Добавлено восстановление таблиц при помощи REPAIR TABLE
Весь учет статистики состоит из двух частей — логгера и веб-GUI.
Первая часть забирает статистику у ipcad и забивает ее в БД, делая это каждые 10 минут. Вторая — собственно графический интерфейс.
Он не блещет оригинальным дизайном и представляет собой пока что три страницы:
Трафик.
Вводим в поля данных следующие значения:

IP пользователя. В этом случае выводится информация только по одному пользователю. Если ввести в это поле значение «all», то выводится трафик всех зарегистрированных пользователей.

Значения даты позволяют вывести статистику за определенный период времени в формате ГГГГММддчч. Проще, конечно, предоставить пользователю уже готовые варианты при помощи combobox, но это будет сделано чуть позже.

Нажав кнопку «Отправить» получаем результат — таблицу для каждого из пользователей.

Порты
На странице отображается список черных и белых портов, а также возможность их добавления и удаления. Вводим порт и его тип(0-черный список, 1 — белый список), выбираем либо добавить, либо удалить и нажимаем кнопку отправить.
Пользователи
Собственно список зарегистрированных пользователей для показа общей статистики. Управление такое же, как и для портов.
Установка:
Будем считать, что ipcad (оф. Сайт http://lionet.info/ipcad/ )у вас уже установлен. Если нет — то отправляю вас либо к №21 журнала, либо к себе на сайт за статьей «разборки с серверами часть 4».
Ставится он через ./configure && make && make install
Единственное, при редактировании конфигурационного файла укажите явно строку

capture-ports enable;

Тогда программа будет учитывать не только входящий, исходящий IP и кол-во переданных байтов, но и входящие и исходящие порты, а также тип интерфейса, ну и еще немного нам пока ненужной информации.
Помещаем в любую папку файлы traffic и traffic.php. Файл index.php должен лежать в папке, доступной через веб.
Открываем traffic и редактируем переменную $pyt, в которой указываем абсолютный путь к папке с traffic.php а также указываем, какие интерфейсы будем агрегировать. У меня это eth0 и eth1.
В список заданий cron(например в файле /etc/crontab) вносим строчку:
*/10 * * * * root sh <путь к скрипту>/traffic >>/dev/null
где вместо 10 можно задать другую периодичность обновления статистики.

В файле traffic.php и repair.php в первом строке надо указать параметры подключения к БД в виде:

mysql_connect("localhost","login","password");

Где в качестве login и password указать ваши параметры входа.

В файле db.sql находится скелет БД, который необходимо скормить MySQL-серверу. Укажите в первой строчке логин и пароль для подключения к БД.

И, собственно все — после некоторого времени по ссылке «Трафик» появятся вожделенные циферки.
В ближайшем будущем планирую сделать нормальный инсталлятор (возможно, он даже будет готов к выходу журнала в печать), переделать ввод начальной и конечной дат, разделить пользователей по группам и прикрутить графики. Если возникли вопросы, либо желание помочь - обращайтесь.

Скачать статистику версия 0.5(3кб)

Артем Кашканов

 

 


Голосов Голосов: 0 - В среднем:

Добавить комментарий Оценить
Комментарии

Статистика
Всего 205 статей в базе
Наиболее просматриваемые: Arduino и сеть RS485.
Лучшие по оценкам: РЦВМ1 - Релейная Цифровая Вычислительная Машина

Пользователи в разделе статьи: 1 (0 Пользователи 1 Гости и 0 Скрытые пользователи)
Видимые пользователи:


 
 

MKPortal©2003-2008 mkportal.it
MultiBoard ©2007-2009 RusMKPortal
Страница сгенерированна за 0.02224 секунд с 24 обращениями в базу данных

Intel Core i5-3450 2Gb RAM 100Gb HDD 100Mbps Ethernet

© Artem Kashkanov 2005-2016