Как установить систему мониторинга сети OpenNMS Horizon в Debian 11

12 set 2022 6 min di lettura
Как установить систему мониторинга сети OpenNMS Horizon в Debian 11
Indice dei contenuti

Введение

OpenNMS — это бесплатная платформа с открытым исходным кодом и одна из самых мощных платформ сетевого мониторинга и управления, используемая для мониторинга удаленных устройств из центрального местоположения. Он поддерживает множество функций, включая подготовку, мониторинг услуг, управление событиями, графическую поддержку и многое другое. OpenNMS использует SNMP и JMX и собирает информацию с удаленных систем. Он работает в операционных системах Linux и Windows и предоставляет веб-интерфейс для удобного мониторинга.

В этом руководстве я покажу вам, как установить OpenNMS на Debian 11.

Предпосылки

  • Сервер под управлением Debian 11.
  • Действительное доменное имя указывало на IP-адрес вашего сервера.
  • Пароль root настроен на сервере.

Установка Java в Debian 11

OpenNMS — это приложение на основе Java. Поэтому на вашем сервере должна быть установлена Java. Если он не установлен, вы можете установить его, выполнив следующую команду:

apt-get install default-jdk -y

После установки Java проверьте версию Java с помощью следующей команды:

java --version

Вы получите версию Java в следующем выводе:

openjdk 11.0.13 2021-10-19
 OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
 OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)

Установите OpenNMS на Debian 11

По умолчанию OpenNMS не включен в основной репозиторий Debian 11. Поэтому вам нужно будет добавить официальный репозиторий OpenNMS в APT.

Сначала установите все необходимые зависимости с помощью следующей команды:

apt-get install curl gnupg2 wget -y

После установки всех пакетов создайте файл репозитория OpenNMS с помощью следующей команды:

nano /etc/apt/sources.list.d/opennms.list

Добавьте следующие строки:

deb https://debian.opennms.org stable main
 deb-src https://debian.opennms.org stable main

Сохраните и закройте файл, затем импортируйте ключ GPG с помощью следующей команды:

wget -O - https://debian.opennms.org/OPENNMS-GPG-KEY | apt-key add -

Вы получите следующий вывод:

Connecting to debian.opennms.org (debian.opennms.org)|3.214.84.83|:443... connected.
 HTTP request sent, awaiting response... 200 OK
 Length: 1335 (1.3K)
 Saving to: 'STDOUT'

 - 100%[=================================================================>] 1.30K --.-KB/s in 0s

 2021-11-28 07:58:07 (16.0 MB/s) - written to stdout [1335/1335]

 OK

Затем обновите кэш репозитория и установите OpenNMS с помощью следующей команды:

apt-get update -y
apt-get install opennms -y

Во время установки будет отображаться следующая ошибка:

Failed to install iplike into the template1 or opennms databases. See /tmp/install_iplike.log for details. To skip this step and install manually, set the
 environment variable SKIP_IPLIKE_INSTALL before installing this package. To install iplike into your database, use the /usr/sbin/install_iplike.sh script. See
 `install_iplike.sh -h` for more details.

Чтобы устранить эту ошибку, вам потребуется создать базу данных и пользователя для OpenNMS в PostgreSQL.

Создайте базу данных в PostgreSQL.

Сервер PostgreSQL устанавливается автоматически в процессе установки OpenNMS.

Сначала запустите службу PostgreSQL с помощью следующей команды:

systemctl start postgresql

Затем подключитесь к экземпляру PostgreSQL с помощью следующей команды:

su - postgres

После подключения создайте пользователя для OpenNMS и установите пароль с помощью следующей команды:

createuser opennms
psql -c "ALTER USER opennms WITH PASSWORD 'opennms';"

Далее создайте базу данных для OpenNMS и установите пароль для пользователя postgres:

createdb -O opennms opennms
psql -c "ALTER USER postgres WITH PASSWORD 'securepassword';"

Затем выйдите из оболочки PostgreSQL с помощью следующей команды:

exit

После этого вы можете перейти к следующему шагу.

Настроить OpenNMS

Далее вам нужно будет отредактировать файл источника данных OpenNMS и определить учетные данные базы данных:

nano /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"
 password="opennms" />

 <jdbc-data-source name="opennms-admin"
 database-name="template1"
 class-name="org.postgresql.Driver"
 url="jdbc:postgresql://localhost:5432/template1"
 user-name="postgres"
 password="securepassword" />
 </datasource-configuration>

Сохраните и закройте файл, когда закончите, затем выполните следующую команду, чтобы определить среду Java:

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

Вы получите следующий вывод:

runjava: Looking for an appropriate JVM...
 runjava: Checking for an appropriate JVM in JAVA_HOME...
 runjava: Skipping... JAVA_HOME not set.
 runjava: Checking JVM in the PATH: "/etc/alternatives/java"...
 runjava: Did not find an appropriate JVM in the PATH: "/etc/alternatives/java"
 runjava: Searching for a good JVM...
 runjava: Found a good JVM in "/usr/lib/jvm/java-11-openjdk-amd64/bin/java".
 runjava: Value of "/usr/lib/jvm/java-11-openjdk-amd64/bin/java" stored in configuration file.

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

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

Вы получите следующий вывод:

Finished in 0 seconds

 Processing RemotePollerServiceConfigMigratorOffline: Remove deprecated RemotePoller service entry from service-configuration.xml, see NMS-12684
 - Running pre-execution phase
 Creating backup of /usr/share/opennms/etc/service-configuration.xml
 Zipping /usr/share/opennms/etc/service-configuration.xml
 - Running execution phase
 Current configuration: 32 services.
 A service entry named 'OpenNMS:Name=PerspectivePoller' already exists.
 Final configuration: 32 services.
 - Saving the execution state
 - Running post-execution phase
 Removing backup /usr/share/opennms/etc/service-configuration.xml.zip

 Finished in 0 seconds

 Upgrade completed successfully!

Запустите службу OpenNMS

После настройки OpenNMS запустите службу OpenNMS и разрешите ее запуск при перезапуске системы с помощью следующей команды:

systemctl start opennms
systemctl enable opennms

Вы можете проверить статус OpenNMS с помощью следующей команды:

systemctl status opennms

Вы получите следующий вывод:

? opennms.service - OpenNMS server
 Loaded: loaded (/lib/systemd/system/opennms.service; disabled; vendor preset: enabled)
 Active: active (running) since Sun 2021-11-28 08:10:51 UTC; 16s ago
 Process: 22990 ExecStart=/usr/share/opennms/bin/opennms -s start (code=exited, status=0/SUCCESS)
 Main PID: 24106 (java)
 Tasks: 68 (limit: 4679)
 Memory: 559.2M
 CPU: 48.083s
 CGroup: /system.slice/opennms.service
 ??24105 bash /usr/share/opennms/bin/opennms -s start
 ??24106 /usr/lib/jvm/java-11-openjdk-amd64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java.desktop,java.in>

 Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so. Attempting to loa>
 Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library.
 Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so. Attempting to l>
 Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library.
 Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib/jni/libjicmp.so. Attempting to loa>
 Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp library.
 Nov 28 08:11:02 debian11 opennms[24106]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib/jni/libjicmp6.so. Attempting to l>
 Nov 28 08:11:02 debian11 opennms[24106]: [INFO] Successfully loaded jicmp6 library.
 Nov 28 08:11:07 debian11 opennms[24106]: Nov 28, 2021 8:11:07 AM org.hibernate.validator.internal.util.Version
 Nov 28 08:11:07 debian11 opennms[24106]: INFO: HV000001: Hibernate Validator 4.3.2.Final

В этот момент OpenNMS запускается и прослушивает порт 8980. Вы можете проверить это с помощью следующей команды:

ss -antpl | grep 8980

Вы получите следующий вывод:

LISTEN 0 50 *:8980 *:* users:(("java",pid=24106,fd=1046))

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

Далее рекомендуется установить и настроить Nginx в качестве обратного прокси для OpenNMS. Сначала установите сервер Nginx с помощью следующей команды:

apt-get install nginx -y

После установки Nginx создайте файл конфигурации виртуального хоста Nginx:

nano /etc/nginx/conf.d/opennms.conf

Добавьте следующую конфигурацию:

server {
 listen 80;
 server_name opennms.example.com;
 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://nms.hacc.edu/;
 proxy_pass http://server-ip:8980;

 }
 }

Сохраните и закройте файл, затем проверьте Nginx на наличие ошибок конфигурации синтаксиса:

nginx -t

Вы получите следующий вывод:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
 nginx: configuration file /etc/nginx/nginx.conf test is successful

Затем перезапустите службу Nginx, чтобы применить изменения:

systemctl restart nginx

Чтобы проверить рабочее состояние Nginx, выполните следующую команду:

systemctl status nginx

Вы должны увидеть следующий вывод:

? nginx.service - A high performance web server and a reverse proxy server
 Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
 Active: active (running) since Sun 2021-11-28 08:17:14 UTC; 6s ago
 Docs: man:nginx(8)
 Process: 25964 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Process: 25965 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
 Main PID: 25967 (nginx)
 Tasks: 3 (limit: 4679)
 Memory: 3.2M
 CPU: 53ms
 CGroup: /system.slice/nginx.service
 ??25967 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
 ??25968 nginx: worker process
 ??25969 nginx: worker process

 Nov 28 08:17:14 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
 Nov 28 08:17:14 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

Войдите в панель управления OpenNMS.

Теперь откройте веб-браузер и войдите в веб-интерфейс OpenNMS, используя URL-адрес http://opennms.example.com. Вы должны увидеть страницу входа в систему OpenNMS.

Укажите имя пользователя и пароль по умолчанию в качестве администратора и нажмите кнопку « Войти ». Вы должны увидеть панель инструментов OpenNMS.

Теперь нажмите « Администратор » > «Изменить пароль», чтобы изменить пароль администратора по умолчанию.

Измените пароль по умолчанию и нажмите кнопку « Отправить ».

Вывод

Поздравляем! вы успешно установили OpenNMS с Nginx в качестве обратного прокси-сервера на сервере Debian 11. Теперь вы можете добавить удаленные устройства в OpenNMS и начать их мониторинг из веб-браузера. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.