OpenNMS

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

Цель OpenNMS — быть действительно распределённой и масштабируемой платформой для управления всеми аспектами сетевой модели FCAPS, оставаясь при этом полностью свободной и открытой. В настоящее время основной акцент делается на управление инцидентами (Fault) и производительностью (Performance).

Весь исходный код проекта распространяется под лицензией GNU Affero General Public License.

Проект OpenNMS поддерживается организацией The Order of the Green Polo.

Что важно знать
OpenNMS
Тип управление сетью, администрирование систем
Разработчики The Order of the Green Polo
The OpenNMS Group
Написана на Java[1]
Операционная система кроссплатформенное
Аппаратная платформа Java
Последняя версия 34.0.1 (13 августа 2025)
Репозиторий github.com/opennms/
Лицензия AGPLv3+
Сайт opennms.org

История

Проект OpenNMS был начат в июле 1999 года Стивом Джайлсом, Брайаном Уивером и Люком Риндфусом и их компанией PlatformWorks[2]. В марте 2000 года проект был зарегистрирован под номером 4141 на SourceForge[3].[4]

28 сентября 2000 года PlatformWorks была приобретена компанией Atipa из Канзас-Сити, конкурентом VA Linux Systems[5]. В июле 2001 года Atipa сменила название на Oculan[6].

В сентябре 2002 года компания Oculan прекратила поддержку проекта OpenNMS. Тарус Балог, тогдашний сотрудник Oculan, покинул компанию, чтобы продолжить работу над проектом[7].

В сентябре 2004 года Тарус Балог, Мэтт Брозовски и Дэвид Хастэйс основали компанию The OpenNMS Group для предоставления коммерческих услуг и поддержки вокруг проекта. Вскоре после этого была создана организация The Order of the Green Polo (OGP) для управления самим проектом OpenNMS[8]. Хотя многие члены OGP также работают в The OpenNMS Group, это отдельная организация.

Платформы и требования

OpenNMS написана на Java, поэтому может работать на любой платформе, поддерживающей Java SDK версии 11 и выше[9]. Для большинства дистрибутивов Linux доступны предварительно скомпилированные пакеты.

Помимо Java, требуется база данных PostgreSQL, однако ведутся работы по обеспечению независимости от СУБД с помощью проекта Hibernate.

Возможности

OpenNMS позиционирует себя как «платформа для управления сетями»[10]. Программа проектировалась так, чтобы быть максимально настраиваемой и использоваться в самых разнообразных сетевых средах.

Основные возможности OpenNMS включают четыре функциональных области.

Управление событиями и уведомления

В основе OpenNMS лежит механизм обмена сообщениями по принципу «публикации и подписки». Внутри приложения процессы могут публиковать события, а другие — подписываться на них. Кроме того, OpenNMS может принимать события в виде SNMP-ловушек, сообщений syslog, событий TL/1 или настраиваемых сообщений (XML на порт 5817).

События можно настраивать так, чтобы они формировали тревоги (alarms)[11]. Если события отражают историю состояния сети, тревоги — это инструмент корреляции и автоматизации работы с инцидентами, в том числе агрегирования одинаковых событий в одну тревогу с подсчётом их количества. Тревоги могут инициировать новые события, например, при эскалации. Со временем тревоги автоматически снимаются, в то время как события хранятся столько, сколько необходимо.

Система тревог способна интегрироваться с различными системами заявок (Request Tracker, OTRS, Jira, Remedy).

В программе реализован модуль трансляции событий, позволяющий обогащать входящие события дополнительными данными (например, влиянием на клиентов) и производить генерацию новых событий[12].

События могут запускать уведомления по электронной почте, SMS, XMPP и другими способами.

Согласно тестам, OpenNMS способна непрерывно обрабатывать 125 000 syslog-сообщений в минуту[13].

Обнаружение и внедрение устройств

В OpenNMS реализована развитая система автоматического подключения устройств. Процесс может быть полностью автоматизирован путём загрузки в систему диапазона или списка IP-адресов (в форматах IPv4 и IPv6), либо устройства добавляются вручную.

Вся конфигурация реализована через XML. Пользователь может использовать как веб-интерфейс, так и автоматизированное создание XML-файлов.

В системе предусмотрены адаптеры для интеграции c различными внутренними и внешними инструментами, например с Dynamic DNS-сервером и RANCID.

Процесс внедрения асинхронен и рассчитан на высокую масштабируемость — он позволяет внедрять сети из более чем 50 000 устройств и конфигурировать отдельные устройства с более чем 200 000 виртуальных интерфейсов (например, Juniper E320)[14].

Мониторинг сервисов

Функциональность сервисного мониторинга позволяет определять доступность сетевых сервисов — от простого (ICMP-ping, проверка TCP-портов) до сложного (Page Sequence Monitoring[15], Mail Transport Monitor[16]). Информация о сбоях сохраняется в БД и используется для формирования отчётов.

Проверки могут производиться не только с сервера OpenNMS, но и с удалённых площадок с помощью Remote Poller.

В компании Papa John’s Pizza OpenNMS Remote Poller установлен почти в 3000 магазинах для мониторинга доступности центральных ресурсов[17].

Сбор данных

OpenNMS поддерживает сбор производственных метрик по ряду сетевых протоколов: SNMP, HTTP, JMX, WMI, XMP, XML, NSClient, JDBC. Данные собираются, хранятся, визуализируются и могут сравниваться с пороговыми значениями.

Архитектура высокомасштабируема — в ряде внедрений одна инсталляция OpenNMS собирает 1,2 млн показателей через SNMP каждые пять минут.

Дополнительные возможности

OpenNMS управляется через веб-интерфейс на базе Jetty. Встроена интеграция с JasperReports для формирования отчётов по данным БД и производительным метрикам.

Награды

  • 2015 — Infoworld Best of Open Source (BOSSIE)[18]
  • 2010 — Infoworld Best of Open Source (BOSSIE)[19]
  • Июнь 2010 — проект месяца на SourceForge
  • 2009 — Infoworld Best of Open Source (BOSSIE)[20]
  • 2008 — бронзовая премия Techtarget Product Excellence в категории «Приложения и управление сетями»[21]
  • 2007 — золотая премия Techtarget Product Excellence в номинации «Платформы для управления сетями и ИТ»[22], обойдя HP OpenView и IBM Tivoli.
  • 2006 — LinuxWorld Expo Product Excellence Award в категории «Системные инструменты управления»[23][24]

Примечания

Ссылки