ITСooky

IT-рецепты съедобные и не очень!

Ставим и настраиваем Netams 4 на FreeBSD 9.2

дата 02.04.2014

На смену простейшему и безотказнейшему Netams3 пришел сложнейший и хрен установишь-настроишь-запустишь Netams4. Почему же? Технологии не стоят на месте, и если раньше даже не думалась сколько надо памяти для работы Netams3, то сейчас надо где-то доставать лишних 250 мегабайт для Netams4 потому что он работает через Java!!! Если бы Netams3 работал на FreeBSD9 вообще бы за Netams4 не взялся бы…

netams4_itcookycom_02

Сразу скажу что Netams4 не дает полноты статистики, то что и нужно мне сейчас, как было в Netams3, за чем я его вообще ставлю… Сразу скажу что функция автоматического построения статистики в Netams 4 не работает, но можно вручную запускать генерацию отчета в файл… Сразу скажу что я хоть и поставил Netams 4 но уже сношу его, во первых жрет много памяти, во вторых не дает нормальной(по содержанию и процедуре) статистки… Сразу скажу что буду вместо него ставить ntopng!

Ставлю на виртуальную машину на VirtualBox!

Нам потребуется поддержка Linux
Включаем её в ядре для начала установки
kldload linux
cd /usr/ports/emulators/linux_base-f10
make install distclean

В rc.conf напишем
linux_enable="YES"

Mysql 5.1 уже стоит, если не стоит поставьте
Создадим пользователя netams4 со всеми правами на базу netams4 и чтобы он был localhost, а не любой %

Начнем с установки Java
Идем в
cd /usr/ports/java/linux-sun-jdk16
make

Нам говорят скачайте в ручную J2SE SDK self-extracting file for the Linux platform (jdk-6u45-linux-i586.bin) from http://www.oracle.com/technetwork/java/javase/downloads/index.html
И положить его в /usr/ports/distfiles
ОК
cd /usr/ports/distfiles
По той ссылке конечно ничего уже нет но если погуглить jdk-6u45-linux-i586.bin находим:
fetch http://uni-smr.ac.ru/archive/dev/java/SDKs/sun/j2se/6/jdk-6u45-linux-i586.bin
еще надо
fetch http://uni-smr.ac.ru/archive/dev/java/SDKs/sun/j2se/6/jdk-6u45-linux-i586-demos.tar.gz
Опять пытаемся
cd /usr/ports/java/linux-sun-jdk16
make
make install

Проверяем, запускаем
java -version

/usr/local/linux-sun-jdk1.6.0/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

Плохо! Чтобы этого не было вставляем в /etc/fstab
linprocfs /compat/linux/proc linprocfs rw 0 0
И перегружаемся, теперь хорошо
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode)

Устанавливаем Netams4
Cкачиваем от сюда версию FreeBSD-32bit и распаковываем в папку
mkdir /usr/local/netams4
cd /usr/local/netams4

Человеческой ссылки они не дают так что придумайте как скинут скаченный файл на сервер (я скинул на свой сервер SAMBA, и от туда достал scp root@192.168.1.100:/usr/data/1/netams4.0.1633-freebsd-i386.tar.gz ./)
распаковываем
tar xvf netams4.0.1633-freebsd-i386.tar.gz

Следуем советам NETAMS4 разработчикам

Делаем в папке netams4 хитрую ссылку
cd /usr/local/netams4
ln -s /usr/local/linux-sun-jdk1.6.0/jre java

Модифицируем под себя запрос
ldd /usr/local/netams4/lib/so-dll/freebsd-i386/libsigar-x86-freebsd-9.so
ответ тот что ожидался — нет

/usr/local/netams4/lib/so-dll/freebsd-i386/libsigar-x86-freebsd-9.so:
	libkvm.so.3 => not found (0)

Смотрим что установилось
ls -la /lib/libkvm* /usr/lib/libkvm*

-r--r--r--  1 root  wheel  32944 Sep 27 07:59 /lib/libkvm.so.5
-r--r--r--  1 root  wheel  43924 Sep 27 07:59 /usr/lib/libkvm.a
lrwxr-xr-x  1 root  wheel     16 Sep 27 07:59 /usr/lib/libkvm.so -> /lib/libkvm.so.5
-r--r--r--  1 root  wheel  44968 Sep 27 07:59 /usr/lib/libkvm_p.a

Делаем символические ссылки
ln -s /usr/lib/libkvm.so /lib/libkvm.so.3
Теперь наверное все окей
ldd /usr/local/netams4/lib/so-dll/freebsd-i386/libsigar-x86-freebsd-9.so

/usr/local/netams4/lib/so-dll/freebsd-i386/libsigar-x86-freebsd-9.so:
	libkvm.so.3 => /lib/libkvm.so.3 (0x281d9000)
	libc.so.7 => /lib/libc.so.7 (0x2806d000)

Редактируем файл настроек
vi /usr/local/netams4/netams4.properties
находим и меняем

db.sql.mysql.user=netams4
db.sql.mysql.password=netams4password

Вот на это надо посмотреть чтобы порт 8080 не был уже кем-то занят

webadmin.listen.port=8080

Пытаемся запустить
cd /usr/local/netams4/
sh ./startup.sh

И так как это единственный способ запустить его добавлем в расписание
crontab -e
строчку
@reboot sh /usr/local/netams4/startup.sh >/dev/null 2>&1
Чтобы само стартовало на загрузке

Идем на страницу админа
http://ВАШ_АЙПИ:8080/webadmin/webadmin.html
имя пароль netams : netams
netams4_itcookycom_01

Кстати JAVA отожрала 250 мегабайт памяти! Вот и на кой она нужна если раньше все без неё работало!

Настройка Netams4 для сбора статистики
Как выясняется статистика в Netams4 вообще не главная функция, главная это биллинг — через биллинг можно настроить статистику.
Пытаемся сначала интуитивно настроить. На странице Configuration ставим галочку на Enable global traffic monitoring
NETAMS_4_Web_Administration_-_2014-03-27_18.11.35

На странице Data sources добавляем RemoteAgent со следующими значенимия em1 это интерфейс смотряший в локалку
NETAMS_4_Web_Administration_-_2014-03-27_18.12.34

Сам по себе он работать не будет, надо на сервере запустить агент сборщик
/usr/local/netams4/jserver/agent/n4agent_pcap -c 127.0.0.1:20002 -p /var/run/n4agent.pid -d -q

Сам по себе агент не будет запускать, при загрузке, так что запишем в crontab
crontab -e

@reboot /usr/local/netams4/jserver/agent/n4agent_pcap -c 127.0.0.1:20002 -p /var/run/n4agent.pid -d -q >/dev/null 2>&1

В разделе System есть хороший пункт Unit discovery эта функция должна сама определяет, кто подключен и создавать все нужные учетные записи чтобы биллинг-статистика работала — но она не работает

Переходим в раздел Elements
Здесь в Contracts создаем контакты нужно написать только имя Name
NETAMS_4_Web_Administration_-_2014-03-30_10.41.19

В разделе AU Profiles создаем AU Profiles, не совсем понял что это — но без этого статистика не работает. Здесь главное указать наш созданный Data-source ID и поставить галочку Monitored
NETAMS_4_Web_Administration_-_2014-03-30_10.43.48

В разделе Currencies должна быть какая-то валюта расчета, по умолчанию RUR уже есть.
NETAMS_4_Web_Administration_-_2014-03-30_10.45.20

В Tariffs настраиваем тариф в Engine name выбираем PolicyBasedEngine это файл с настройками, который можно как-то настраивать он лежит в папке:
cd /usr/local/netams4/jserver/db
vi pbe.cfg

NETAMS_4_Web_Administration_-_2014-03-30_10.49.33

Теперь идем в раздел Billing
Перед этим советую отдохнуть расслабить глаза-пальцы, вам предстоит серия из 10-15 кликов по 25 раз(по числу пользователей) чтобы произвести дальнейшею настройку.

Жмем на Customers рядом с Search criteria пишем один это у меня ID пользователя 201(и так далее) жмем Search
NETAMS_4_Web_Administration_-_2014-03-30_10.56.10

В появившейся странице пользователя выбираем Account editor жмем Add выбираем Currency выбираем рубль
NETAMS_4_Web_Administration_-_2014-03-30_10.57.24
Незабываем жать Applay и OK

Во вкладке AcctUnit editor жмем Add тип унита Unite type у нас IP и пишем IP в IP
NETAMS_4_Web_Administration_-_2014-03-30_10.59.30

Во вкладке Service editor жмем Add тут выбираем Tariff, Account, AcctUnit это все без вариантов из единственного созданного ранее.
NETAMS_4_Web_Administration_-_2014-03-30_11.02.35

Повторяем действия в Billing с каждым пользователем отдельно.

После этого статистика Netams 4 оживает — задергались графики на главной странице, в которую можно попасть нажав Go To Home кнопка справа от логотипа Netams4 слева вверху страницы.
NETAMS_4_Web_Administration_-_2014-03-30_11.04.46

Теперь наконец-то попытаемся получить статистику. Идем в Reporting здесь выбираем Collection и жмем Add здесь много всего выбираем самое понятное TrafficReport
NETAMS_4_Web_Administration_-_2014-03-30_11.15.05

Настраиваем этот сборщик статистики и жмем Save, а потом Run(это надо жать каждый раз чтобы посмотреть статистику) чтобы получилось как на картинке
NETAMS_4_Web_Administration_-_2014-03-30_11.16.09

Чтобы статистика собиралась в виде отчетов надо в Schedule прописать какой Collection когда запускался и сохранялся в файл — но это функция в вебинтерфейсе не работает.

  • veero

    Unit discovery — работает. Просто в настройках прогалч создавать счета, создавать услугу. В одном соглашусь, система таксебе. Тоже ставлю ntopng

  • ama

    ntopng не ставится, говорит broken 🙁

  • AlexandrBu

    С версией ntopng 1.1 (r6939) проблем не было, хотя она тоже на загрузе FreeBSD ругается что пака c:windows… не найдена :@))))Обновлять не пробовал, попробую