На смену простейшему и безотказнейшему Netams3 пришел сложнейший и хрен установишь-настроишь-запустишь Netams4. Почему же? Технологии не стоят на месте, и если раньше даже не думалась сколько надо памяти для работы Netams3, то сейчас надо где-то доставать лишних 250 мегабайт для Netams4 потому что он работает через Java!!! Если бы Netams3 работал на FreeBSD9 вообще бы за Netams4 не взялся бы…
Сразу скажу что 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
Кстати JAVA отожрала 250 мегабайт памяти! Вот и на кой она нужна если раньше все без неё работало!
Настройка Netams4 для сбора статистики
Как выясняется статистика в Netams4 вообще не главная функция, главная это биллинг — через биллинг можно настроить статистику.
Пытаемся сначала интуитивно настроить. На странице Configuration ставим галочку на Enable global traffic monitoring
На странице Data sources добавляем RemoteAgent со следующими значенимия em1 это интерфейс смотряший в локалку
Сам по себе он работать не будет, надо на сервере запустить агент сборщик
/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
В разделе AU Profiles создаем AU Profiles, не совсем понял что это — но без этого статистика не работает. Здесь главное указать наш созданный Data-source ID и поставить галочку Monitored
В разделе Currencies должна быть какая-то валюта расчета, по умолчанию RUR уже есть.
В Tariffs настраиваем тариф в Engine name выбираем PolicyBasedEngine это файл с настройками, который можно как-то настраивать он лежит в папке:
cd /usr/local/netams4/jserver/db
vi pbe.cfg
Теперь идем в раздел Billing
Перед этим советую отдохнуть расслабить глаза-пальцы, вам предстоит серия из 10-15 кликов по 25 раз(по числу пользователей) чтобы произвести дальнейшею настройку.
Жмем на Customers рядом с Search criteria пишем один это у меня ID пользователя 201(и так далее) жмем Search
В появившейся странице пользователя выбираем Account editor жмем Add выбираем Currency выбираем рубль
Незабываем жать Applay и OK
Во вкладке AcctUnit editor жмем Add тип унита Unite type у нас IP и пишем IP в IP
Во вкладке Service editor жмем Add тут выбираем Tariff, Account, AcctUnit это все без вариантов из единственного созданного ранее.
Повторяем действия в Billing с каждым пользователем отдельно.
После этого статистика Netams 4 оживает — задергались графики на главной странице, в которую можно попасть нажав Go To Home кнопка справа от логотипа Netams4 слева вверху страницы.
Теперь наконец-то попытаемся получить статистику. Идем в Reporting здесь выбираем Collection и жмем Add здесь много всего выбираем самое понятное TrafficReport
Настраиваем этот сборщик статистики и жмем Save, а потом Run(это надо жать каждый раз чтобы посмотреть статистику) чтобы получилось как на картинке
Чтобы статистика собиралась в виде отчетов надо в Schedule прописать какой Collection когда запускался и сохранялся в файл — но это функция в вебинтерфейсе не работает.
Unit discovery — работает. Просто в настройках прогалч создавать счета, создавать услугу. В одном соглашусь, система таксебе. Тоже ставлю ntopng
ntopng не ставится, говорит broken 🙁
С версией ntopng 1.1 (r6939) проблем не было, хотя она тоже на загрузе FreeBSD ругается что пака c:windows… не найдена :@))))Обновлять не пробовал, попробую