Поиск по сайту:

Как установить инструмент мониторинга сети OpenNMS в CentOS 8


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установите OpenNMS
  4. Настройка PostgreSQL
  5. Инициализировать и запустить OpenNMS
  6. Настройка SELinux и брандмауэра
  7. Доступ к веб-интерфейсу OpenNMS
  8. Заключение

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

Функции

  • Поддерживает SNMP, JMX, WMI, NPRE, NSCLient++ и XMP.
  • Архитектура, управляемая событиями
  • Поддерживает мониторинг устройств и приложений.
  • Обнаружение типологии и сбой пути
  • Настройка и выполнение сервисных мониторов
  • Поддерживает сетевые топологии уровней 2 и 3.

В этом руководстве мы покажем вам, как установить и настроить OpenNMS на сервере CentOS 8.

Предпосылки

  • Сервер под управлением CentOS 8.
  • Пароль root настраивается на сервере.

Начиная

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

dnf install java-11-openjdk-devel curl unzip -y

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

java -version

Вы должны получить следующий результат:

openjdk version "11.0.9" 2020-10-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.9+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11-LTS, mixed mode, sharing)

Как только вы закончите, вы можете перейти к следующему шагу.

Установить OpenNMS

По умолчанию OpenNMS недоступен в репозитории CentOS 8 по умолчанию. Поэтому вам нужно будет добавить репозиторий OpenNMS в вашу систему.

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

rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY

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

dnf install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm

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

dnf install opennms -y

Это установит OpenNMS, PostgreSQL и другие пакеты на ваш сервер.

Настроить PostgreSQL

OpenNMS использует PostgreSQL в качестве базы данных. Вы можете инициализировать базу данных PostgreSQL с помощью следующей команды:

postgresql-setup --initdb --unit postgresql

Вы должны получить следующий результат:

 * Initializing database in '/var/lib/pgsql/data'
 * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

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

systemctl enable postgresql
systemctl start postgresql

Далее вам нужно будет создать базу данных и пользователя для PostgreSQL.

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

su - postgres

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

[ ~]$ createuser -P opennms

Вам будет предложено установить пароль, как показано ниже:

Enter password for new role: 
Enter it again: 

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

[ ~]$ createdb -O opennms opennms

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

[ ~]$ psql -c "ALTER USER postgres WITH PASSWORD 'password';"

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

[ ~]$ exit;

Далее вам нужно будет изменить политику доступа для PostgreSQL. Вы можете сделать это, отредактировав файл /var/lib/pgsql/data/pg_hba.conf:

nano /var/lib/pgsql/data/pg_hba.conf

Найдите следующие строки:

# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

И заменил их следующими строками:

host    all             all             127.0.0.1/32            md5 
host    all             all             ::1/128                 md5

Сохраните и закройте файл, затем перезапустите службу PostgreSQL, чтобы изменения вступили в силу:

systemctl restart postgresql

Далее вам нужно будет определить вашу базу данных в файле /opt/opennms/etc/opennms-datasources.xml.

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

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

Инициализировать и запустить OpenNMS

Далее вам нужно будет инициализировать OpenNMS. Сначала добавьте настройки Java с помощью следующей команды:

/opt/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-11.0.9.11-0.el8_2.x86_64/bin/java".
runjava: Value of "/usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java" stored in configuration file.

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

/opt/opennms/bin/install -dis

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

systemctl enable --now opennms

Вы должны получить следующий результат:

Synchronizing state of opennms.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable opennms
Created symlink /etc/systemd/system/multi-user.target.wants/opennms.service → /usr/lib/systemd/system/opennms.service.

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

systemctl status opennms

Вы должны получить следующий результат:

? opennms.service - OpenNMS server
   Loaded: loaded (/usr/lib/systemd/system/opennms.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2020-11-25 09:21:32 EST; 13s ago
  Process: 26880 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS)
 Main PID: 27928 (java)
    Tasks: 67 (limit: 12523)
   Memory: 555.6M
   CGroup: /system.slice/opennms.service
           ??27927 bash /etc/init.d/opennms -s start
           ??27928 /usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el8_2.x86_64/bin/java --add-modules=java.base,java.compiler,java.datatransfer,java>

Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so.  Attempting to load ji>
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so.  Attempting to load ji>
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so.  Attempting to load >
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp' set to '/usr/lib64/libjicmp.so.  Attempting to load ji>
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp library.
Nov 25 09:21:42 centos8 opennms[26880]: [DEBUG] System property 'opennms.library.jicmp6' set to '/usr/lib64/libjicmp6.so.  Attempting to load >
Nov 25 09:21:42 centos8 opennms[26880]: [INFO] Successfully loaded jicmp6 library.

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

ss -antpl | grep :8980

Вы должны получить следующий результат:

LISTEN   0        50                          *:8980                   *:*       users:(("java",pid=27928,fd=988)) 

Как только вы закончите, вы можете перейти к следующему шагу.

Настройте SELinux и брандмауэр

По умолчанию SELinux включен на сервере CentOS 8. Поэтому вам нужно сначала отключить его. Вы можете отключить его, отредактировав файл /etc/selinux/config:

nano /etc/selinux/config

Найдите следующую строку:

SELINUX=enforcing

И замените его следующей строкой:

SELINUX=permissive

Сохраните и закройте файл, затем перезагрузите систему, чтобы изменения вступили в силу.

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

firewall-cmd --permanent --add-port=8980/tcp

Затем перезагрузите firewalld, чтобы применить изменения:

firewall-cmd --reload

Как только вы закончите, вы можете перейти к следующему шагу.

Доступ к веб-интерфейсу OpenNMS

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

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

Нажмите «Подтвердить», чтобы отправить анонимную статистику использования в OpenNMS. Вы должны увидеть панель управления OpenNMS на следующей странице:

Нажмите «Администратор» => «Изменить пароль», чтобы изменить пароль по умолчанию. Вы должны увидеть следующую страницу:

Измените пароль по умолчанию и нажмите кнопку «Отправить». Вы должны увидеть следующую страницу:

Нажмите на значок +, чтобы добавить новый хост. Вы должны увидеть следующую страницу:

Укажите имя новой заявки и нажмите кнопку ОК. Вы должны увидеть следующую страницу:

Укажите данные своего удаленного хоста и нажмите кнопку «Подготовить». После добавления хоста вы должны увидеть следующую страницу:

Теперь нажмите Информация => Узлы. Вы должны получить подробную информацию об удаленном хосте на следующей странице:

Заключение

Поздравляем! вы успешно установили OpenNMS на сервер CentOS 8. Теперь вы можете добавлять неограниченное количество сетевых хостов и устройств в OpenNMS и запускать мониторинг из центрального местоположения.