NetAMS-Front

Описание

Ntams-Front — фронт end клиент для известной в определенных кругах считалке трафика Netams (автор Антон Винокуров). В Netams уже присутствует некий интерфейс для отображения статистики потребления трафика пользователями, но он мне кажется немного «убогим». Netams-Front полностью написан на php, использует базу данных Netams его конфиг, и telnet для управления им. Интерфейс тестировался под ос Linux (CentOS, Fedora, Ubuntu) и FreeBSD. Для последней есть порт (огромное спасибо alexey@renatasystems.org). Для использования интерфейса не требуется ни каких дополнительных модулей к php кроме php-mysql.

Основной функционал можно разбить на две части, первая отображение статистики, вторая управление данными. Если с первой частью все более менее нормально, то с управлением не все так хорошо, много чего не реализовано. Статистика отображается в трех видах: детальная, сводная и детализация запрошенных url-ов. Детальная статистика отображает трафик в разрезе юнитов, протоколов. Сводная по юнитам верхнего уровня. Детализация запрошенных url — показывает по каким сайтам ходил пользователь. Из блока управления, реализовано управление юнитами и протоколами, а так же сервисные функции управления базой данных (резервное копирование, очистка).

В последней версии (0.4) реализован небольшой windows клиент, для отображения информации в треи системы. Клиент написан на Delphi7, его исходные коды есть в архиве с 0.4-й версией.

Скриншоты

Установка и настройка

Настраиваем Netams. По желанию, создаем отдельного пользователя netams-front на mysql сервере, с доступом к базе данных netams, можно ограничить доступ к таблицам, необходимые таблицы «oids» и «summary». Если Netams-front и Netams находятся на разных серверах, в конфиге Netams необходимо переменную «login» установить в «any» (или ip адрес сервера на котором будет установлен Netams-front). Не забываем про файрвол, необходимо дать доступ на порт 20001 по протоколу tcp. Если Netams и Netams-front находятся на разных серверах, то на последнем придется собрать «netamsctl» из пакета netams, для управления сервисом.

Устанавливаем Netams-fron. Качаем последнюю версию, распаковываем обычно для linux /var/www/html/netams-front. Правим /etc/netams/.netamsctl.rc:

login=admin
password=aaa
host=localhost

проверяем работоспособность netamsctl netamsctl -f /etc/netams/.netamsctl.rc примерный вывод:

NeTAMS 3.4.5 (3490.2) root@localhost / Sat 09 Oct 2010 22:08:08 +0600
Run time  35 days 23 hours 54 mins 7.7314 secs
System time:  35 days 23 hours 54 mins 1 mins 53.0428 secs
Average CPU/system load: 0.00%Process ID: 15388 RES: 0K
Memory allocated: 45258307 (1171059), freed (1149021) (0 NULL) [22038 used]
Total objects:
Oids used: 26
NetUnits: 14
Policies: 10
Services: 11
Users: 1
Connections: 1 active, 47 total
Services info:
Storage ID=1 type mysql wr_q 0/87294 rd_q 0/0
Data-source ID=1 type LIBPCAP source eth0:0 loop 18084150 average 59 mcsec
Perf: average skew delay 172827 mcsec, PPS: 12, BPS: 1042
Alerter 0 queue max: 255, current: 0
Scheduled tasks: 1

Если у Вас примерно такой вывод тогда, netamsctl настроен верно и можно переходить к следующему шагу. Иначе необходимо разобраться почему не удается присоединиться к netams серверу на 20001 порт.

Настраиваем Netams-front. Настройка сводится к правке одного файла «config.php»

define('PATH','/');# Путь относительно директории виртуального хоста
$cfg['backup_dir'] = './backup';# Директория для резерного копирования (пока не работает)
$cfg['admins_ip'] = '127.0.0.1';# ip адресса админов через пробел
$i++;# Переменная для удобства добавления серверов
$data_base[$i]['name'] = 'Server1';# Имя сервера
$data_base[$i]['dbhost'] = '192.168.0.1';# Хост базы данных mysql
$data_base[$i]['dbuname'] = 'root';# Имя пользователя mysql
$data_base[$i]['dbpass'] = ' ';# Пароль mysql
$data_base[$i]['dbname'] = 'netams';# Имя базы данных
$data_base[$i]['netamsclient'] = 'telnet'; # telnet or clt
$data_base[$i]['netamsctl'] = '/usr/local/sbin/netamsctl -f /etc/netams/.netamsctl.rc'; # команда для запуска
$data_base[$i]['netamshost'] = '192.168.0.1';# Хост telnet сервера NetAms
$data_base[$i]['netamsport'] = 20001;# Порт telnet сервера NetAms
$data_base[$i]['netamsuser'] = 'admin';# Пользователь telnet сервера NetAms
$data_base[$i]['netamspass'] = 'aaa';# Пароль telnet сервера NetAms
$data_base[$i]['netamstimeout'] = 10;# Таймаут для подглючения
$data_base[$i]['netamscommandtimeout'] = 125000; #таймаут для отработки программы
$data_base[$i]['traffic_list'] = 'ip local'; # Список общих политик через пробел
$data_base[$i]['traffic_sum_calc'] = ''; # Сумматор политик
$data_base[$i]['proto_hide_list'] = 'urls'; # Список скрываемых политик для групп
$data_base[$i]['group_show_policy'] = 'ip local www'; # Политики показа для групп
$data_base[$i]['user_grouping_by_ip'] = false ;# (not impl) Группировать по ip адесу (пока не готово)
$data_base[$i]['adv_users'] = '127.0.0.1 192.168.0.2 192.168.0.3';# IP адреса пользователей через пробел, кто имеет доступ ко всей статистике
$data_base[$i]['round_traffic_to'] = 2;# Округления трафика после точки
$data_base[$i]['urls_monitor_enabled'] = true; # Включён ли сервис монитора url-layer-detect

Если все настроено верно, то при заходе браузером на сервер Вы увидите картинку как на скриншоте. Если нет подключения к базе или к самому Netams, интерфейс выдаст соответствующую ошибку. Если интерфейс выдал белый экран, то включайте проказ ошибок в php, уровень отчета в E_ALL & ~E_NOTICE и смотрите в каком месте проблема.

Скачать

SVN Netams-Front

Еще по теме Netams

avatar

8 Комментариев “NetAMS-Front”

  1. Поздравляю с переходом на вордпресс. NetamsFront работает, в боевых условиях. Может на днях займусь поиском одного гадкого бага, Если найду — отпишусь. Спасибо за прогу .

    • да, баг мелкий, но гадкий, и непонятно откуда ноги. Если долго не смотреть статистику (админом) то при входе может упасть нетамс сам, что очень может доставить. Юзерами не проверял, но шеф, имеющий свойство залезть под админом посмотреть что как раз в месяц его регулярно вызывает.

      • avatar Юрий:

        Баг ни как не связан с самим фронтом …
        Боевой сервер аптайи 300+ пользуемся фронтом раз в пол года, ни одного разрыва =)

  2. avatar Arti:

    Что за имя сервера?
    $data_base[$i]['name'] = ‘Server1′;# Имя сервера

  3. avatar Arti:

    Команда netamsctl -f /etc/netams/.netamsctl.rc не может выдать указанный примерный вывод.
    netamsctl -f /etc/netams/.netamsctl.rc «show version» может

  4. avatar Arti:

    Делал все по инструкции в итоге такие вот ошибки

    Deprecated: Function eregi() is deprecated in /usr/local/www/netams-front/kernel.php on line 8

    Deprecated: Function eregi() is deprecated in /usr/local/www/netams-front/config.php on line 8

    Deprecated: Function eregi() is deprecated in /usr/local/www/netams-front/include/class-calendar.php on line 8

    Deprecated: Function eregi() is deprecated in /usr/local/www/netams-front/include/class-ctree.php on line 8

    Deprecated: Function eregi() is deprecated in /usr/local/www/netams-front/include/db.php on line 9

    Deprecated: Function eregi() is deprecated in /usr/local/www/netams-front/kernel.php on line 242

    Deprecated: Function eregi() is deprecated in /usr/local/www/netams-front/kernel.php on line 242

    Deprecated: Function eregi() is deprecated in /usr/local/www/netams-front/kernel.php on line 310
    Access denied

    • avatar Юрий:

      Версия php 5.3 не использует функцию eregi().
      php.ini:
      mbstring.func_overload = 4

      Решит вашу проблему.

Оставить комментарий

Weboy
wordpress themes
Free WordPress Theme