Установка и настройка OpenNMS на CentOS 8
OpenNMS родилась из разочарования, которое наблюдали ее создатели из-за того, насколько дорогими, негибкими и сложными в развертывании были существующие инструменты управления сетью. Вдобавок они наблюдали, как клиентам приходилось изменять свой бизнес-процесс, чтобы соответствовать существующим инструментам, а не наоборот. Это подтолкнуло их к созданию OpenNMS.
OpenNMS — это первая в мире платформа управления сетевыми услугами корпоративного уровня с полностью открытым исходным кодом, и сотни предприятий используют ее каждый день без малейшей помощи со стороны своей команды. Именно с этим команда OpenNMS упростила работу. И как настоящий открытый исходный код, он на 100% бесплатен.
В отличие от традиционных продуктов для управления сетью, которые очень ориентированы на сетевые элементы, такие как интерфейсы на коммутаторах и маршрутизаторах, OpenNMS фокусируется на услугах, которые предоставляют сетевые ресурсы: веб-страницы, доступ к базе данных, DNS, DHCP и т. Д. (Хотя также доступна информация об элементах сети. ).
Мы собираемся установить и настроить этот замечательный инструмент и проверить, на что он способен. Перед этим давайте посмотрим, что скрывается внутри его упаковки.
Особенности OpenNMS
Ниже перечислены основные функции, которыми обладает OpenNMS:
- Scalability: он создан для предприятий и контролирует миллионы устройств из одного экземпляра.
- Extensibility: использует гибкую и расширяемую архитектуру для расширения фреймворков опроса служб и сбора данных о производительности.
- Open Source: OpenNMS, опубликованная под лицензией AGPLv3, является полностью открытым исходным кодом.
- Support: поддерживается большим сообществом пользователей и на коммерческой основе OpenNMS Group.
Теперь мы должны быть готовы исследовать OpenNMS на нашем компьютере с CentOS 8.
Шаг 1. Обновите и подготовьте наш сервер
Прежде чем мы углубимся в подробности этой настройки, неплохо было бы начать с чистого и хорошо обновленного планшета. Мы будем обновлять и устанавливать необходимые инструменты в течение всего процесса.
sudo dnf -y update
sudo dnf install -y vim curl wget
OpenNMS разрабатывается с использованием Java, поэтому нам нужна установленная Java. Установите Java на CentOS 8, используя этот способ установки Java 11-OpenJDK 11- на RHEL 8
Шаг 2. Установите OpenNMS Horizon
После того, как мы рассмотрели базовый уровень, убедившись, что он готов принять следующие пакеты, мы можем продолжить установку OpenNMS Horizon. Сначала мы добавим официальный репозиторий OpenNMS, а затем приступим к загрузке и установке необходимых пакетов.
Добавить репозиторий yum и импортировать ключ GPG
sudo dnf -y install https://yum.opennms.org/repofiles/opennms-repo-stable-rhel8.noarch.rpm
sudo rpm --import https://yum.opennms.org/OPENNMS-GPG-KEY
После добавления репозитория мы готовы загрузить и установить OpenNMS со всеми его встроенными зависимостями.
sudo dnf -y install opennms
Приведенная выше команда автоматически установит следующие пакеты, что упростит работу:
- jicmp6 and jicmp: Java bridge позволяющий отправлять сообщения ICMP из репозитория OpenNMS Horizon.
- opennms-core: основные сервисы OpenNMS Horizon, например Provisiond, Pollerd и Collectd из репозитория OpenNMS Horizon.
- opennms-webapp-jetty: веб-приложение OpenNMS Horizon из репозитория OpenNMS Horizon
- postgresql: сервер базы данных PostgreSQL из репозитория дистрибутива
- postgresql-libs: база данных PostgreSQL из репозитория дистрибутива
Шаг 3: Инициализируйте и настройте PostgreSQL
Мы упоминали, что база данных Postgres должна была быть установлена автоматически в предыдущей команде. Теперь мы должны настроить его с соответствующими базами данных, учетными данными, а также убедиться, что он работает правильно.
Инициализировать базу данных PostgreSQL
Сначала давайте инициализируем базу данных, выполнив команду ниже
sudo postgresql-setup --initdb --unit postgresql
Чтобы PostgreSQL запускался автоматически в случае перезагрузки сервера, выполните приведенную ниже команду Systemd, чтобы включить сервер базы данных и запустить его.
sudo systemctl enable postgresql
sudo systemctl start postgresql
Создать учетные данные базы данных
Нам понадобится пользователь для доступа к базе данных OpenNMS. Создайте пользователя с паролем и создайте базу данных opennms, которая принадлежит пользователю opennms
$ sudo su postgres
bash-4.4$ psql
psql (10.14)
Type "help" for help.
postgres=# createuser -P opennms
postgres-# createdb -O opennms opennms
postgres-# \q
bash-4.4$ exit
Защитите пользователя postres по умолчанию паролем, чтобы добавить безопасность, как показано ниже:
$ sudo su postgres
bash-4.4$ psql
postgres=# ALTER USER postgres WITH PASSWORD 'StrongPassword';
ALTER ROLE
postgres=# \q
bash-4.4$ exit
Измените политику доступа для PostgreSQL
Когда вы устанавливаете Postgres, идентификатор по умолчанию используется для локальных подключений IPv6 и IPv4. Метод проверки подлинности идентификатора работает путем получения имени пользователя операционной системы клиента с сервера идентификатора и использования его в качестве разрешенного имени пользователя базы данных (с необязательным отображением имени пользователя). Это поддерживается только для соединений TCP / IP. Методы аутентификации на основе пароля: « md5 » и « пароль ». Эти методы работают аналогично, за исключением способа, которым пароль пересылается через соединение, а именно MD5-хеширования и открытого текста соответственно.
Мы собираемся изменить это с идентификатора на способ хеширования MD5. Отредактируйте файл, показанный ниже, соответственно
sudo vim /var/lib/pgsql/data/pg_hba.conf
Разрешить OpenNMS Horizon доступ к базе данных по локальной сети с хешированным паролем MD5.
host all all 127.0.0.1/32 md5 #<==
host all all ::1/128 md5
После внесения изменений перезапустите postgres, чтобы применить и сохранить изменения конфигурации для PostgreSQL.
sudo systemctl restart postgresql
Настроить доступ к базе данных в OpenNMS Horizon
Мы настроили нашу базу данных, и теперь мы должны позволить OpenNMS Horizon свободно подключаться. Отредактируйте файл opennms-datasources.xml, как показано ниже, чтобы увидеть требуемые конфигурации. По сути, это добавление уже установленных нами деталей базы данных.
$ sudo vim /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="StrongPassword" />
Те же детали на скриншоте
Шаг 4: Инициализируйте и запустите OpenNMS Horizon
После того, как настройки базы данных сделаны, мы наконец можем инициализировать OpenNMS Horizon. Давайте добавим настройки Java и приступим к запуску приложения.
Обнаружение среды Java и сохранение в /opt/opennms/etc/java.conf
sudo /opt/opennms/bin/runjava -s
Инициализировать базу данных и обнаружить системные библиотеки, сохраненные в /opt/opennms/etc/libraries.properties
sudo /opt/opennms/bin/install -dis
Включите OpenNMS Horizon для автоматического запуска при загрузке системы
$ sudo systemctl enable --now opennms
$ sudo 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-09-23 13:44:38 UTC; 5s ago
Process: 1689425 ExecStart=/etc/init.d/opennms -s start (code=exited, status=0/SUCCESS)
Main PID: 1690701 (java)
Tasks: 36 (limit: 11070)
Memory: 162.8M
CGroup: /system.slice/opennms.service
├─1690700 /bin/bash /etc/init.d/opennms -s start
└─1690701 /usr/lib/jvm/java-11-openjdk-11.0.8.10-0.el8_2.x86_64/bin/java --add-modules=java.base,java.compiler
Поскольку OpenNMS Horizon прослушивает порт 8980 , вам следует подумать о том, чтобы разрешить входящий и исходящий трафик через этот порт на вашем брандмауэре, если он у вас запущен. Просто запустите приведенные ниже команды.
sudo firewall-cmd --permanent --add-port=8980/tcp
sudo firewall-cmd --reload
Шаг 5: Войдите и измените пароль по умолчанию
После запуска OpenNMS к веб-приложению можно получить доступ, указав в браузере адрес http://[IP-or-FQDN-of-your-server]: 8980/opennms . Пользователь по умолчанию для входа в систему — admin, а пароль инициализируется как admin .
После входа в систему вы можете изменить пароль следующим образом: В главном меню навигации нажмите « admin → Изменить пароль → Изменить пароль ». Установите текущий пароль admin, установите новый пароль и подтвердите новый пароль, затем нажмите « Отправить ». После того, как вы закончите, выйдите из системы и войдите с новым паролем.
Шаг 6. Добавьте хосты в OpenNMS
Мы закончили настройку OpenNMS Horizon, и осталось только добавить хосты, которые мы будем отслеживать. Чтобы добавить хост, войдите в веб-консоль OpenNMS и в главном меню навигации выполните следующие действия: Щелкните « + ».
Поскольку это совершенно новая установка, нам нужно будет добавить “requisition“. Вы увидите всплывающее окно с просьбой ввести имя для новой “requisition“.
Будет доступна новая страница с формой, как показано ниже. Заполните форму, затем прокрутите страницу вниз и нажмите “Provision“.
Когда вы закончите нажимать Provision, должно появиться всплывающее сообщение об успешном завершении .
После того, как вы добавили узел, вы можете проверить их, щелкнув раскрывающееся меню “Info” выбрав “Nodes“. Вы должны увидеть только что добавленный узел и некоторые детали, которые он уже расшифровал.
Заключение
OpenNMS может предложить больше, чем описано в этом руководстве. Вы можете контролировать клиентов через SNMP, настраивать миньонов, которые возвращают данные в основной Horizon через брокеров сообщений, и многое другое. Мы рассмотрим установку Minion с Apache Kafka в следующем руководстве.