Мониторинг. · 10 min read · Nov 01, 2025
Как установить решение для мониторинга OpenNMS на Ubuntu 22.04

OpeNNMS — это бесплатное и открытое решение для мониторинга и управления сетью. Это платформа для мониторинга сети корпоративного уровня, которая визуализирует и контролирует все на локальных и удаленных сетях. OpenNMS — это полностью открытое решение для мониторинга и управления сетью, опубликованное под лицензией AGPLv3.
OpenNMS — это масштабируемая платформа мониторинга сети, позволяющая вам контролировать десятки тысяч сетей через распределенные и многоуровневые системы. Кроме того, OpenNMS — это гибкая платформа мониторинга, которая легко интегрируется с вашим основным бизнесом и сторонними расширениями.
OpenNMS имеет несколько компонентов, перечисленных ниже:
- OpenNMS Horizon - пакеты из трех основных компонентов: Core (основной компонент Horizon), Minion (используется для удаленного распределенного мониторинга) и Sentinel (для масштабируемости).
- Helm - настраиваемая панель управления для OpenNMS.
- Архитектура для корреляции с включенным обучением (ALEC) (триаж тревог).
- Сервер интеграции 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 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 выполните следующую команду systemctl, чтобы проверить службу PostgreSQL и убедиться, что служба работает и включена.
sudo systemctl is-enabled postgresql
sudo systemctl status 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, чтобы продолжить.

Затем выполните следующую команду 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. Откройте файл ‘ /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 будут перечислены в файле ‘ /opt/opennms/etc/libraries.properties ‘.
sudo -u opennms /usr/share/opennms/bin/install -dis
Затем отредактируйте файл службы 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 с обратным прокси-сервером Nginx. Читайте дальше, чтобы узнать, как настроить Nginx в качестве обратного прокси для OpenNMS.
Установка Nginx в качестве обратного прокси для OpenNMS
Теперь, когда у вас работает OpenNMS на порту по умолчанию ‘8980’, вы установите и настроите Nginx в качестве обратного прокси для OpenNMS.
Выполните следующую команду apt для установки пакета Nginx на вашу систему.
sudo apt install nginxВведите y, когда будет предложено, затем нажмите ENTER, чтобы продолжить. Установка начнется.

Затем проверьте службу Nginx с помощью следующей команды systemctl.
sudo systemctl is-enabled nginx
sudo systemctl status 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, чтобы применить новую конфигурацию серверного блока.
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 будет работать, и он включен и будет запущен автоматически при загрузке.

Затем добавьте новое правило, чтобы разрешить трафик на веб-сервер Nginx.
sudo ufw allow "Nginx Full"
После этого откройте файл ‘ /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
На данный момент вы завершили установку и настройку OpenNMS с зависимостями пакетов, такими как база данных PostgreSQL и веб-сервер Nginx, а также настроили UFW. На последнем этапе вы получите доступ к установке OpenNMS через веб-браузер и настроите администратора для OpenNMS.
Доступ к инструменту мониторинга OpenNMS
Откройте веб-браузер и посетите доменное имя вашей установки OpenNMS (т.е.: http://opennms.howtoforge.local). Вы должны увидеть страницу входа в инструмент мониторинга OpenNMS.
Введите имя пользователя/пароль по умолчанию ‘ admin/admin ‘ и нажмите ‘ Войти ‘.

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

После входа в OpenNMS с использованием имени пользователя/пароля по умолчанию ‘ admin/admin ‘, вы затем измените имя пользователя и пароль по умолчанию для вашей установки OpenNMS.
В верхней панели меню нажмите меню ‘ Admin ‘ и выберите ‘Изменить пароль ‘.
Теперь введите старый пароль ‘admin’ и введите новый пароль OpenNMS и повторите пароль. Затем нажмите ‘ Отправить ‘, чтобы применить.

Теперь вы завершили настройку OpenNMS.
Заключение
Теперь у вас установлен OpenNMS, высокомасштабируемый и настраиваемый инструмент мониторинга, на вашем сервере Ubuntu 22.04. Вы также настроили сервер базы данных PostgreSQL и веб-сервер Nginx, настроенный как обратный прокси для OpenNMS. С полностью настроенным OpenNMS вы теперь можете добавить новый хост для мониторинга через протокол SNMP, настроить распределенный мониторинг через OpenNMS Minion, масштабировать OpenNMS через Sentinel и начать настраивать панель управления через Helm.
Если вы хотите запустить OpenNMS на крупных развертываниях, ознакомьтесь с официальной документацией.
Get new posts in your inbox
No spam. Unsubscribe anytime.