Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Её необходимо скачать и поставить отсюда: http://www.oracle.com/technetwork/java/index.html. В данный момент мы работаем с версиями линейки на Oracle JRE и OpenJDK версий 6.х (1.6.0.хх). Вы можете использовать любую другую версию JRE, в том числе Open Source, но работоспособность такой конструкции не тестировалась, и не гарантируется.

Для определенности предположим, что для Windows версии вы поставили Java JDK в каталог "C:\Program Files\Java\jdk1.6.0_18", а для Linux - в "/usr/local/jre1.6.0_27". В подкаталоге "bin/java" находится собственно исполняемый файл виртуальной машины. Вы можете запустить его и проверить, какова версия:

Code Block

C:\Program Files\Java\jdk1.6.0_18\bin>java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b04)
Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode, sharing)

...

Далее, вам необходимо скачать и распаковать дистрибутив NETAMS отсюда. Мы собираем несколько почти одинаковых дистрибутововдистрибутивов, с библиотеками под конкретную архитектуру и операционную систему.

Вопрос: Почему в качестве веб-контейнера вы не применяете Апач? Или нет, я люблю Tomcat или Resin.
Ответ: Апач не умеет исполнять программы на Java, это не сервлет контейнер. Вы можете использовать что угодно вместо Jetty, но настраивайте саминастройку вам придется провести самостоятельно.

Скаченный Скачанный архив необходимо распаковать куда-нибудь, например в C:\netams4 (Windows) или /usr/local/netams4 (Linux/FreeBSD). Там вы увидите список файлов, похожий на:

Code Block

mylinux:/usr/local/netams4/# ls -al
total 2142
drwxr-xr-x 6 root root     4096 2010-07-12 20:27 .
drwxr-xr-x 4 root root     4096 2010-07-12 19:35 ..
drwxr-xr-x 2 root root     4096 2010-07-12 19:10 doc
drwxr-xr-x 5 root root     4096 2010-07-12 19:29 jserver
drwxr-xr-x 5 root root     4096 2010-07-12 19:29 repserver
drwxr-xr-x 2 root root     4096 2010-07-12 19:10 lib
-rwxr-r-   1 root root      984 2010-07-12 19:25 netams4.properties
-rwxr-xr-x  1x 1 root root      283 2011-07-02 12:52 startup.sh
drwxr-xr-x 5 root root     4096 2010-07-12 19:35 webadmin

В каталоге doc - некоторые примеры, в jserver - код биллинга, в lib - общие для биллинга и вебсервера библиотеки, в webadmin - интерфейсная часть, repserver - служба генерации отчетов.

Внимание! Категорически, КАТЕГОРИЧЕСКИ запрещено использовать для распаковки дистрибутива миднайт коммандер (mc). Эта программа обрезает длинные имена файлов в архиве дистрибутива, из-за чего служба веб-администрирования потом просто не работает. Используйте ТОЛЬКО утилиту tar.

Теперь надо привязать Java к этому каталогу:

Для Linux:
Делаем ссылку от того меcта, где у нас установлен JRE, к дистрибутиву:

Code Block

ln -s /usr/local/jre1.6.0_27 java

Для Windows:

Правим стартап-скрипты startup.bat, jserver\jserver-startup.bat и webadmin\webadmin-startup.bat. Находим в каждом строку

Code Block

set JAVA_HOME=C:\Progra~1\Java\jdk1.6.0_17

и заменяем последние цифры, чтобы они соответствовали версии установленной у вас JRE/JDK:

Code Block

set JAVA_HOME=C:\Progra~1\Java\jdk1.6.0_18

Требуется постараться, и не перепутать \jre... и \jdk... Будем надеяться, что объяснять что такое, и откуда берется "C:\Progra~1\", не надо.

Дополнительно для FreeBSD:

Выполнить действия, аналогичные установке для Linux. В силу особенности реализации нативных библиотек для работы программ Java под FreeBSD, вам придется выполнить ряд дополнительных действий.

Во-первых, поддержка JPcapLocalDataSource под FreeBSD реализована экспериментально. Библиотека jnetpcap (которую мы вынуждены использовать), не тестировалась для данной операционной системы. Вместо неё, лучше используйте RemoteAgentDataSource локально.

Во-вторых, необходимо убедиться, что применяемая нами библиотека libsigar может найти все зависимости - это особенно актуально для FreeBSD 8. Можно посмотреть, что нужно:

Code Block
[root@fbsd /home]# uname -a
FreeBSD fbsd.fnm.msu.ru 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Fri Feb 18 02:24:46 UTC 2011     root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
[root@fbsd /home\]# ldd /usr/home/netams4/jserver/lib/so-dll/freebsd-i386/libsigar-x86-freebsd-8.so
/usr/home/netams4/jserver/lib/so-dll/freebsd-i386/libsigar-x86-freebsd-8.so:       
	libkvm.so.3 => not found (0x0)

А в наличии скорее всего есть только:

Code Block
[root@fbsd /home]# ls -la /lib/libkvm* /usr/lib/libkvm*
-r--r--r--  1 root  wheel  32780 Feb 18 04:50 /lib/libkvm.so.5
-r--r--r--  1 root  wheel  42652 Feb 18 04:50 /usr/lib/libkvm.a
lrwxr-xr-x  1 root  wheel     16 Feb 18 04:50 /usr/lib/libkvm.so -> /lib/libkvm.so.5
-r--r--r--  1 root  wheel  43552 Feb 18 04:50 /usr/lib/libkvm_p.a

Решаем проблему:

Code Block
[root@fbsd /home]# ln -s /usr/lib/libkvm.so /lib/libkvm.so.3
[root@fbsd /home]# ldd /usr/home/netams4/jserver/lib/so-dll/freebsd-i386/libsigar-x86-freebsd-8.so
/usr/home/netams4/jserver/lib/so-dll/freebsd-i386/libsigar-x86-freebsd-8.so:
        libkvm.so.3 => /lib/libkvm.so.3 (0x281dd000)
        libc.so.7 => /lib/libc.so.7 (0x28099000)

Этого вполне достаточно. Если так не сделать, вы при запуске jserver наверняка увидите ошибку, как ниже, и мониторинг вашей операционки работать не будет:

Code Block
Exception in thread "alarms_events" java.lang.UnsatisfiedLinkError: org.hyperic.sigar.Cpu.gather(Lorg/hyperic/sigar/Sigar;)V
at org.hyperic.sigar.Cpu.gather(Native Method)
at org.hyperic.sigar.Cpu.fetch(Cpu.java:30)
at org.hyperic.sigar.Sigar.getCpu(Sigar.java:320)
at org.hyperic.sigar.Sigar.getCpuPerc(Sigar.java:341)
at com.netams.netams4.AlarmEventManager.systemCheck(AlarmEventManager.java:108)
at com.netams.netams4.AlarmEventManager.loop(AlarmEventManager.java:99)
at com.netams.netams4.structures.EngineThread.run(EngineThread.java:41)
at java.lang.Thread.run(Thread.java:662)

 

 

Дополнительно для FreeBSD 9:

Дистрибутив для FreeBSD ориентирован на версию 8, как наиболее распространенную. При работе под версией 9 необходимо сделать символьную ссылку на динамическую библиотеку sigar:

Code Block
[root@v-freebsd1 /usr/local/netams4/lib/so-dll/freebsd-x64]# ls -al
total 216
drwxr-xr-x  2 root  wheel     512 12 мар 16:20 .
drwxr-xr-x  3 root  wheel     512 12 мар 16:20 ..
-rw-r--r--  1 root  wheel  210641 12 мар 16:20 libsigar-amd64-freebsd-8.so
[root@v-freebsd1 /usr/local/netams4/lib/so-dll/freebsd-x64]# ln -s libsigar-amd64-freebsd-8.so libsigar-amd64-freebsd-9.so
[root@v-freebsd1 /usr/local/netams4/lib/so-dll/freebsd-x64]# ls -al
total 216
drwxr-xr-x  2 root  wheel     512 16 мар 15:12 .
drwxr-xr-x  3 root  wheel     512 12 мар 16:20 ..
-rw-r--r--  1 root  wheel  210641 12 мар 16:20 libsigar-amd64-freebsd-8.so
lrwxr-xr-x  1 root  wheel      27 16 мар 15:12 libsigar-amd64-freebsd-9.so -> libsigar-amd64-freebsd-8.so

ДалееНаконец, необходимо скачать, поставить и настроить MySQL сервер. Как это сделать, описано в соответствующих инструкциях. По окончании установки, создайте базу данных netams4, и убедитесь что нужный пользователь (по умолчанию root без пароля) может писать в неё. Важно: вам необходимо вручную создать базу данных! Это делается одной командой:

Code Block
mysqladmin create netams4

Вопрос: Какую версию MySQL ставить?
Ответ: Мы тестировали 5.1.10. Этому отвечает Connector/J в комплекте. Без проблем должна заработать любая из 5.х ветки.

Вопрос: А я люблю Постгрес! Он же кручегораздо лучше!
Ответ: Мы можем добавить поддержку любой СУБД. Обратитесь сюда.. Обратитесь на support@netams.com.

Прежде чем производить запуск jserver-а, необходимо убедится, что в настройках mysql указано использование TCP/IP сокета для соединений. При настройке mysql как исключительно локальная база данных, в конфигурации по умолчанию прописывается опция skip-networking. Данная опция указывает что для соединения используется не сетевой сокет, а локальный unix-сокет. Опцию skip-networking в my.cnf нужно закоментировать или удалить, иначе вы рискуете в логах увидеть ошибку с указанием что приложение не может соединиться с СУБД.
Ошибка выглядит так:
FATAL [main] com.netams.netams4.structures.MYSQLEngineImpl - Exiting.
Configured MySQL engine is not running.

Убедитесь что в системе установлен пакет ttf-dejavu.
Неустановка данного пакета грозит тем что у вас могут не отображаться графики, а при попытке посмотреть изображения, выйдет 500-ая ошибка, с указанием что не может найти шрифты.
Если вы запустили приложение и уже обнаружили, то установите пакет и перезапустите веб-интерфейс.

В завершение, вам необходимо убедиться в правильности настройки локальной службы DNS. Компоненты netams4 общаются между собой по TCP/IP, по умолчанию используя адрес "localhost". Из-за особенностей реализации механизма RMI в виртуальной машине Java происходит определение локального имени хоста, и попытка связи с ним по IP-адресу, полученному из данного имени. Таким образом, если команда `hostname` на вашей машине выдает некоторое имя вашего хоста, например "myserver", то прямое преобразование имени в IP-адрес должно завершаться успехом, т.е. к примеру `ping myserver` должен приводить к ответам. Если это не так, оперативное решение проблемы состоит в добавлении записи:

Code Block
127.0.0.1                  myserver

в файл /etc/hosts

В общем случае, система готова к работе, в условиях того, что все компоненты запускаются на одном (этом) компьютере. Необходимо . Возможно, вам также будет необходимо настроить агент для источника данных RemoteAgentDataSource, как описано в соответствующем разделе. Теперь необходимо посмотреть, и поправить при необходимости, файл настроек netams4.properties.