Мониторинг. · 10 min read · Nov 01, 2025

Как установить решение для мониторинга OpenNMS на Ubuntu 22.04

OpeNNMS — это бесплатное и открытое решение для мониторинга и управления сетью. Это платформа для мониторинга сети корпоративного уровня, которая визуализирует и контролирует все на локальных и удаленных сетях. OpenNMS — это полностью открытое решение для мониторинга и управления сетью, опубликованное под лицензией AGPLv3.

OpenNMS — это масштабируемая платформа мониторинга сети, позволяющая вам контролировать десятки тысяч сетей через распределенные и многоуровневые системы. Кроме того, OpenNMS — это гибкая платформа мониторинга, которая легко интегрируется с вашим основным бизнесом и сторонними расширениями.

OpenNMS имеет несколько компонентов, перечисленных ниже:

  1. OpenNMS Horizon - пакеты из трех основных компонентов: Core (основной компонент Horizon), Minion (используется для удаленного распределенного мониторинга) и Sentinel (для масштабируемости).
  2. Helm - настраиваемая панель управления для OpenNMS.
  3. Архитектура для корреляции с включенным обучением (ALEC) (триаж тревог).
  4. Сервер интеграции Provisioning (PRIS) (интеграция извлеченных данных).

Этот гид показывает, как установить решение для мониторинга OpenNMS с сервером базы данных PostgreSQL и обратным прокси-сервером Nginx на сервере Ubuntu 22.04. Также в этом руководстве будет показана установка Java OpenJDK, базовая конфигурация сервера базы данных PostgreSQL и веб-сервера Nginx.

Предварительные условия

Прежде всего, вам понадобятся следующие требования, чтобы завершить этот гид:

  • Сервер Ubuntu 22.04 - В этом примере используется сервер Ubuntu с именем хоста ‘opennms-server’ и памятью 4 ГБ.
  • Непривилегированный пользователь с правами администратора sudo/root.
  • Доменное имя или локальный домен будет использоваться для запуска OpenNMS.

Установка Java OpenJDK

Решение для мониторинга OPneNMS — это инструмент мониторинга, в основном написанный на Java. На момент написания этой статьи последняя версия OpenNMS поддерживает как минимум Java 11. В стандартном репозитории Ubuntu 22.04 доступна Java OpenJDK 11, которую вы можете легко установить через APT.

Перед установкой Java выполните следующую команду apt для обновления и обновления индекса пакетов.

sudo apt update

Теперь установите Java OpenJDK 11 с помощью команды apt ниже. Стандартная версия Java для системы Ubuntu 22.04 — это Java OpenJDK 11, которая подходит для установки OpenNMS.

sudo apt install default-jdk

Когда будет предложено, введите y для подтверждения и нажмите ENTER. Установка Java OpenJDK начнется.

установка java

После установки Java OpenJDK выполните следующую команду, чтобы проверить установленную версию Java. Вы должны получить установленную Java OpenJDK 1.11 на вашей системе Ubuntu.

java -version

С установленной Java OpenJDK переходите к установке базы данных PostgreSQL.

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

PostgreSQL — это высокопроизводительная СУБД (система управления реляционными базами данных). OpenNMS поддерживает только PostgreSQL в качестве бэкенда базы данных. На момент написания этой статьи OpenNMS поддерживает PostgreSQL версии 10.x-14.x.

Теперь вы установите и настроите базу данных PostgreSQL версии 14 на сервере Ubuntu. По умолчанию репозиторий Ubuntu предоставляет несколько версий PostgreSQL, и вы установите PostgreSQL 14.x для развертывания OpenNMS.

Выполните следующую команду apt для установки PostgreSQL 14.

sudo apt install postgresql-14

Когда будет предложено подтвердить, введите y и нажмите ENTER, чтобы продолжить.

установка postgresql

После установки пакета PostgreSQL выполните следующую команду systemctl, чтобы проверить службу PostgreSQL и убедиться, что служба работает и включена.

sudo systemctl is-enabled postgresql  
sudo systemctl status postgresql

Вы увидите, что служба PostgreSQL включена и будет запущена автоматически при загрузке. А статус службы PostgreSQL — работающий.

проверка postgresql

Теперь, когда база данных PostgreSQL работает, вы создадите базу данных и пользователя для OpenNMS. Вы также установите пароль для пользователя PostgreSQL по умолчанию ‘ postgres ‘.

Выполните следующую команду, чтобы создать нового пользователя PostgreSQL ‘opennms’. Когда будет предложено ввести пароль, введите новый пароль для пользователя ‘ opennms ‘ и повторите его.

sudo -u postgres createuser -P opennms

Затем создайте новую базу данных ‘ opennms ‘ с владельцем ‘ opennms ‘ с помощью следующей команды.

sudo -u postgres createdb -O opennms opennms

Наконец, измените пароль пользователя ‘ postgres ‘ с помощью следующей команды. И обязательно измените его на новый надежный пароль.

sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '5up3rp4ssw0rd';"

Теперь, когда у вас установлены Java OpenJDK и PostgreSQL, вы готовы установить OpenNMS.

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

Вы установили Java OpenJDK и базу данных PostgreSQL, также вы создали новую базу данных и пользователя для OpenNMS и настроили пароль по умолчанию для пользователя PostgreSQL ‘postgres’. Теперь вы начнете установку и настройку OpenNMS.

В этом разделе вы установите OpenNMS через официальный репозиторий OpenNMS. Затем вы настроите OpenNMS с базой данных PostgreSQL, настроите среду Java, инициализируете схему базы данных, обнаружите системные библиотеки и разрешите OpenNMS работать на привилегированных портах.

Сначала выполните следующую команду, чтобы добавить ключ GPG и репозиторий OpenNMS.

sudo apt-key adv --fetch-keys https://debian.opennms.org/OPENNMS-GPG-KEY  
sudo add-apt-repository -s 'deb https://debian.opennms.org stable main'

Когда будет предложено, нажмите ENTER, чтобы подтвердить и добавить репозиторий OpenNMS.

добавить репозиторий

Теперь установите пакет OpenNMS с дополнительными R-пакетами с помощью команды apt ниже.

sudo apt install opennms r-recommended

Когда будет предложено подтвердить, введите y, чтобы подтвердить, и нажмите ENTER, чтобы продолжить.

установка opennms

Затем выполните следующую команду apt, чтобы отключить автоматическое обновление пакета OpenNMS. OpenNMS требует ручных шагов и конфигураций при обновлении до новой версии, поэтому вы должны обновлять его вручную, чтобы избежать ошибок во время/после обновлений.

sudo apt-mark hold libopennms-java \  
libopennmsdeps-java \  
opennms-common \  
opennms-db

отключить автоматическое обновление

Теперь, когда OpenNMS установлен, вы можете проверить каталог установки OpenNMS ‘ /usr/share/opennms ‘ с помощью следующей команды. Также любые изменения, связанные с OpenNMS, должны применяться к файлам в каталоге ‘ /usr/share/opennms ‘.

sudo apt install tree -y  
sudo tree /usr/share/opennms -L 1

Вы можете увидеть список каталогов и файлов для пакета OpenNMS.

список файлов opennms

Затем вы настроите конфигурацию базы данных для OpenNMS. Откройте файл ‘ /usr/share/opennms/etc/opennms-datasources.xml ‘ с помощью следующей команды редактора nano. Команда ‘ sudo -u opennms command.. ‘ указывает, что вы выполняете команду от имени пользователя ‘ opennms ‘, а не от имени пользователя root.

sudo -u opennms nano /usr/share/opennms/etc/opennms-datasources.xml

Измените ‘jdbc-data-source’ для ‘ opennms ‘, чтобы использовать данные базы данных и пользователя ‘ opennms ‘. А для ‘ opennms-admin ‘ вы должны использовать пользователя администратора PostgreSQL ‘ postgres ‘.

  
  

Сохраните файл и выйдите из редактора, когда закончите.

Теперь выполните следующую команду, чтобы обнаружить среду Java на вашей системе, которая будет храниться постоянно в конфигурационном файле ‘/usr/share/opennms/etc/java.conf ‘.

sudo -u opennms /usr/share/opennms/bin/runjava -s

настройка opennms

После этого выполните следующую команду, чтобы инициализировать базу данных и обнаружить системные библиотеки для OpenNMS. Библиотеки для OpenNMS будут перечислены в файле ‘ /opt/opennms/etc/libraries.properties ‘.

sudo -u opennms /usr/share/opennms/bin/install -dis

установщик opennsm

Затем отредактируйте файл службы OpenNMS с помощью следующей команды systemctl. Вы должны получить редактор EDITOR по умолчанию на вашей системе.

sudo systemctl edit --full opennms.service

Добавьте следующую конфигурацию в раздел ‘ [Service] ‘. Это позволяет службе OpenNMS работать и связываться с привилегированными портами (порты 1-1024).

[Service]  
...  
AmbientCapabilities=CAP_NET_RAW CAP_NET_BIND_SERVICE

Сохраните файл и выйдите из редактора, когда закончите.

После изменения файла службы OpenNMS выполните следующую команду, чтобы перезагрузить менеджер systemd, перезапустить и включить службу OpenNMS.

sudo systemctl daemon-reload  
sudo systemctl restart opennms  
sudo systemctl enable opennms

Теперь, когда служба OpenNMS работает с новыми конфигурациями, вы можете проверить службу OpenNMS с помощью команды systemctl ниже.

sudo systemctl is-enabled opennms  
sudo systemctl status opennms

Вывод - Служба OpenNMS включена и будет запущена автоматически при загрузке системы. А служба OpenNMS в настоящее время работает.

проверка opennms

На этом этапе вы завершили установку и настройку OpenNMS. Но вы будете запускать OpenNMS с обратным прокси-сервером Nginx. Читайте дальше, чтобы узнать, как настроить Nginx в качестве обратного прокси для OpenNMS.

Установка Nginx в качестве обратного прокси для OpenNMS

Теперь, когда у вас работает OpenNMS на порту по умолчанию ‘8980’, вы установите и настроите Nginx в качестве обратного прокси для OpenNMS.

Выполните следующую команду apt для установки пакета Nginx на вашу систему.

sudo apt install nginx

Введите y, когда будет предложено, затем нажмите ENTER, чтобы продолжить. Установка начнется.

установка nginx

Затем проверьте службу Nginx с помощью следующей команды systemctl.

sudo systemctl is-enabled nginx  
sudo systemctl status nginx

Вы должны увидеть, что служба Nginx включена и будет запущена автоматически при загрузке. Также служба Nginx автоматически запущена после завершения установки.

проверка nginx

После установки Nginx создайте новый блок сервера Nginx ‘ /etc/nginx/sites-available/opennms.conf ‘ с помощью следующей команды редактора nano.

sudo nano /etc/nginx/sites-available/opennms.conf

Добавьте следующую конфигурацию в файл. Обязательно измените доменное имя на ваше доменное имя.

server {  
    listen 80;  
    server_name opennms.howtoforge.local;  
    access_log /var/log/nginx/opennms.access.log;  
    error_log /var/log/nginx/opennms.error.log;  
  
    location / {  
        proxy_set_header Host $http_host;  
        proxy_set_header X-Forwarded-Host $host;  
        proxy_set_header X-Forwarded-Server $host;  
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
        proxy_set_header X-OpenNMS-Server-URL https://opennms.howtoforge.local/;  
        proxy_pass http://localhost:8980;  
    }  
  
}

Сохраните файл и выйдите из редактора, когда закончите.

Затем активируйте серверный блок ‘ opennms.conf ‘ и проверьте конфигурацию Nginx, чтобы убедиться, что у вас правильная конфигурация.

sudo ln -s /etc/nginx/sites-available/opennms.conf /etc/nginx/sites-enabled/  
sudo nginx -t

Если вы видите сообщение о выводе, такое как ‘ тест успешен - синтаксис в порядке ‘, это означает, что ваша конфигурация Nginx правильная.

настройка nginx

Теперь перезапустите службу Nginx, чтобы применить новую конфигурацию серверного блока.

sudo systemctl restart nginx

Теперь, когда Nginx работает в качестве обратного прокси для OpenNMS, вы перейдете к настройке брандмауэра UFW и откроете некоторые порты для некоторых служб.

Настройка брандмауэра UFW

После настройки обратного прокси Nginx вы настроите UFW на вашем сервере OpenNMS. Вы будете запускать инструмент мониторинга OpenNMS с включенным UFW, поэтому вам необходимо добавить некоторые порты, которые будут использоваться для OpenNMS.

Выполните следующую команду apt для установки UFW на вашу систему.

sudo apt install ufw -y

После установки UFW выполните следующую команду, чтобы добавить службу OpenSSH. Затем запустите и включите службу UFW.

sudo ufw allow OpenSSH  
sudo ufw enable

Когда будет предложено, введите y для подтверждения и нажмите ENTER, чтобы продолжить. Теперь UFW будет работать, и он включен и будет запущен автоматически при загрузке.

настройка ufw ssh

Затем добавьте новое правило, чтобы разрешить трафик на веб-сервер Nginx.

sudo ufw allow "Nginx Full"

ufw nginx

После этого откройте файл ‘ /etc/ufw/before.rules ‘ с помощью следующей команды редактора nano.

sudo nano /etc/ufw/before.rules

Добавьте следующую конфигурацию перед разделом ‘filter’. Это позволит включить NAT и перенаправить/переслать трафик с 62/udp на 10162/udp*.

*nat  
:PREROUTING ACCEPT [0:0]  
-A PREROUTING -p udp --dport 162 -j REDIRECT --to-port 10162  
COMMIT

Сохраните файл и выйдите из редактора, когда закончите.

Теперь добавьте новое правило, чтобы разрешить оба порта 62/udp и 10162/udp.

sudo ufw allow in 162/udp  
sudo ufw allow in 10162/udp

Перезагрузите UFW, чтобы применить изменения, и проверьте статус UFW с помощью следующей команды.

sudo ufw reload  
sudo ufw status

проверка ufw

На данный момент вы завершили установку и настройку OpenNMS с зависимостями пакетов, такими как база данных PostgreSQL и веб-сервер Nginx, а также настроили UFW. На последнем этапе вы получите доступ к установке OpenNMS через веб-браузер и настроите администратора для OpenNMS.

Доступ к инструменту мониторинга OpenNMS

Откройте веб-браузер и посетите доменное имя вашей установки OpenNMS (т.е.: http://opennms.howtoforge.local). Вы должны увидеть страницу входа в инструмент мониторинга OpenNMS.

Введите имя пользователя/пароль по умолчанию ‘ admin/admin ‘ и нажмите ‘ Войти ‘.

вход в opennms

Затем вы увидите панель управления администрированием OpenNMS.

панель управления opennms

После входа в OpenNMS с использованием имени пользователя/пароля по умолчанию ‘ admin/admin ‘, вы затем измените имя пользователя и пароль по умолчанию для вашей установки OpenNMS.

В верхней панели меню нажмите меню ‘ Admin ‘ и выберите ‘Изменить пароль ‘.

Теперь введите старый пароль ‘admin’ и введите новый пароль OpenNMS и повторите пароль. Затем нажмите ‘ Отправить ‘, чтобы применить.

изменить пароль

Теперь вы завершили настройку OpenNMS.

Заключение

Теперь у вас установлен OpenNMS, высокомасштабируемый и настраиваемый инструмент мониторинга, на вашем сервере Ubuntu 22.04. Вы также настроили сервер базы данных PostgreSQL и веб-сервер Nginx, настроенный как обратный прокси для OpenNMS. С полностью настроенным OpenNMS вы теперь можете добавить новый хост для мониторинга через протокол SNMP, настроить распределенный мониторинг через OpenNMS Minion, масштабировать OpenNMS через Sentinel и начать настраивать панель управления через Helm.

Если вы хотите запустить OpenNMS на крупных развертываниях, ознакомьтесь с официальной документацией.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.