OpenNMS - бесплатный, расширяемый, легко масштабируемый продукт уровня предприятия с открытым исходным кодом. Он проверяет состояние удалённых устройств и собирает информацию об этих хостах при помощи SNMP и JMX (Java Management Extensions). Система основана на Java поэтому поддерживает все популярные операционные системы.
OpenNMS работает под управлением таких операционных систем, как Linux и Windows и поставляется с веб-консолью для упрощения добавления сетевых устройств и приложений в систему. Вся информация, введенная в систему, хранится в базе данных Postgres.
Системные требования OpenNMS
- Debian 9.0 и выше, Ubuntu 16.04 LTS и выше;
- Пакет OpenJDK 11 Development Kit;
- 2 CPU, 2 Гб RAM, 20 Гб жесткого диска.
В этом материале покажем, как устанавливать свежую версию системы мониторинга OpenNMS Horizont на Debian и Ubuntu.
Шаг 1. Развертывание Java-OpenJDK 11 на Ubuntu
Для начала скачает свежую версию OpenJDK Java 11 при помощи следующей команды:
$ sudo apt-get install openjdk-11-jdk
Затем убеждаемся, что установлена самая последняя версия Java
$ java -version
После этого устанавливаем переменную среду для всех пользователей при загрузке. Чтобы сделать это нужно добавить в файл /etc/profile следующие строки.
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Сохраняем файл и выполняем следующую команду, чтобы система заново прочитала файл /etc/profile.
$ source /etc/profile
Шаг 2. Установка OpenNMS Horizon на Ubuntu
Чтобы развернуть OpenNMS Horizon, в файл /etc/apt/sources.list.d/opennms.list
следует добавить репозиторий и GPG ключ, а затем обновить кеш apt командой ниже:
$ cat EOF | sudo tee /etc/apt/sources.list.d/opennms.list deb https://debian.opennms.org stable main deb-src https://debian.opennms.org stable main EOF $ wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add - $ apt update
Далее скачиваем мета-пакеты OpenNMS (opennms-core и opennms-webapp-jetty) со всеми зависимостями (jicmp6 и jicmp, postgresql и postgresql-libs).
$ sudo apt install opennms
Затем с помощью утилиты tree, проверяем, что мета-пакеты OpenNMS установлены в директорию /usr/share/opennms
$ cd /usr/share/opennms $ tree -L 1
На заметку: Чтобы предотвратить внеплановые обновления, после установки рекомендуется отключить репозиторий OpenNMS
$ sudo apt-mark hold libopennms-java libopennmsdeps-java opennms-common opennms-db
Шаг 3. Инициализация и установка PostgreSQL
В Debian и Ubuntu сразу после установки пакетов программа установки определяет базу данных Postgres, запускает службу и добавляет его в автозапуск при старте системы.
Чтобы проверить, работает ли служба, выполните указанную ниже команду:
$ sudo systemctl status postgresql
Далее делаем вход под пользователем postgre и создаём пользователя opennms и задаем пароль.
$ sudo su - postgres $ createuser -P opennms $ createdb -O opennms opennms
А теперь в целях безопасности назначим пользователю postgres пароль:
$ psql -c "ALTER USER postgres WITH PASSWORD 'YOUR-POSTGRES-PASSWORD';"
На данном этапе следует настроить доступ OpenNMS Horizon к базе данных. Для этого редактируем файл конфигурации.
$ sudo vim /usr/share/opennms/etc/opennms-datasources.xml
Найдите в данном файле указанные ниже разделы и введите учетные данные
jdbc-data-source name="opennms" database-name="opennms" class-name="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/opennms" user-name="opennms-db-username" password="opennms-db-user-passwd" / jdbc-data-source name="opennms-admin" database-name="template1" class-name="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/template1" user-name="postgres" password="postgres-super-user-passwd" /
Сохраните изменения и закройте файл.
Шаг 4. Инициализация и запуск OpenNMS Horizon
Чтобы инициализировать OpenNMS, необходимо интегрировать его с Java. Итак, для обнаружения среды Java и добавления её в файл конфигурации /usr/share/opennms/etc/java.conf
выполните следующую команду:
$ sudo /usr/share/opennms/bin/runjava -s
Затем, следует проинициализировать базу данных и найти библиотеки, указанные в файле /opt/opennms/etc/libraries.properties
, с помощью следующей команды:
$ sudo /usr/share/opennms/bin/install -dis
После этого запускаем службу OpenNMS используя systemd, затем добавляем её в автозапуск и проверяем статус следующими командами:
$ sudo systemctl start opennms $ sudo systemctl enable opennms $ sudo systemctl status opennms
Если в системе установлен межсетевой экран ufw, следует открыть порт 8980
$ sudo ufw allow 8980/tcp $ sudo ufw reload
Шаг 5. Подключение к веб-консоли OpenNMS
Теперь запускаем любимый браузер и открываем страницу веб-консоли OpenNMS.
http://SERVER_IP:8980/opennms
или
http://FDQN-OF-YOUR-SERVER:8980/opennms
Далее для входа в систему вводим логин и пароль по умолчанию - admin/admin
После этого вы попадете в панели администратора
В целях безопасности следует поменять предустановленный пароль администратора. Для этого переходим на панели меню выбираем "admin → Change Password", в разделе "User account self-service" нажимаем "Change Password".
Вводим текущий пароль, новый пароль и подтверждаем его, затем нажимаем "Submit". После этого выходим из системы и заходим в нее с новым паролем.
А теперь, время изучать, детальные настройки системы и тонкости управления OpenNMS Horizon через веб-интерфейс, добавлять узлы и приложения, согласно Руководству Администратора OpenNMS.