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]
Примечания
Ссылки
- Официальный сайт
- Enterprise-Wide Network Management with OpenNMS — автор: Тарус Балог, oreillynet.com, 8 сентября 2005 г., дата обращения: 14 ноября 2006.
- OpenNMS Helps Keep Tabs On Networks — автор: Роб Рейли, LinuxPlanet.com, 7 апреля 2005 г., дата обращения: 14 ноября 2006.
- Huge Savings with OpenNMS for Managed Hosting Comp — автор: Мария Винслоу, linux.sys-con.com, 31 августа 2004 г., дата обращения: 14 ноября 2006.
- FLOSS Weekly 15: Tarus Balog of OpenNMS — подкаст FLOSS Weekly, 10 ноября 2006 г., дата обращения: 14 ноября 2006.
- OpenNMS DevJam Interviews, People Over Process Podcast, 1 августа 2008 г.
- Best of Open Source Software Awards 2009, статья InfoWorld (Даг Динели, Джеймс Р. Борк, Хай Мобли), 31 августа 2009 г., дата обращения: 20 апреля 2010.


