Как установить инструмент мониторинга сети OpenNMS в CentOS 8
На этой странице
- Предпосылки
- Начало работы
- Установите OpenNMS
- Настройка PostgreSQL
- Инициализировать и запустить OpenNMS
- Настройка SELinux и брандмауэра
- Доступ к веб-интерфейсу OpenNMS
- Заключение
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 и запускать мониторинг из центрального местоположения.