В этой статье есть несколько проблем. Помогите улучшить ее или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти сообщения )
|
Первоначальный выпуск | Май 2009 г. (2009-05) |
---|---|
Стабильный релиз | 2.14.2 (Icinga 2) / 18 января 2024 г. (2024-01-18) [1] |
Репозиторий |
|
Написано в | С++ , PHP |
Операционная система | Кроссплатформенность (только для Linux) |
Тип | Мониторинг сети |
Лицензия | GPLv2 |
Веб-сайт | icinga.com |
Icinga — это компьютерная система и приложение для мониторинга сети с открытым исходным кодом . Оно было создано как ответвление приложения для мониторинга системы Nagios в 2009 году. [2] [3]
Icinga пытается улучшить процесс разработки Nagios [4] , а также добавить новые функции [5] [6], такие как современный пользовательский интерфейс в стиле Web 2.0 , дополнительные коннекторы баз данных (для MySQL , Oracle и PostgreSQL ) и REST API, который позволяет администраторам интегрировать многочисленные расширения без сложной модификации ядра Icinga.
Первая стабильная версия 1.0 была выпущена в декабре 2009 года, а новые версии выпускались каждые пару месяцев, начиная с января 2010 года. [7]
В 2012 году началась разработка нового основного компонента, который был выпущен в 2014 году под названием Icinga 2 [8], что позволило внести существенные архитектурные изменения по сравнению с ядром Nagios .
В мае 2009 года группа разработчиков из сообщества Nagios анонсировала форк Icinga, ссылаясь на свое недовольство застойной разработкой программного обеспечения Nagios в то время и желание открыть его разработку для более широкой базы. [4] Название Icinga — это зулусское слово, означающее «он ищет», «он просматривает» или «он изучает» [9] и произносится с щелкающей согласной . [10]
В первый год разработчики Icinga выпустили отдельные версии Core, API и Web и отпраздновали 10 000-ю загрузку. [11]
На втором году своего существования проект Icinga выпустил унифицированные и стабильные Core и Web; добавил поддержку двухстекового IPv6 и IPv4 , оптимизировал подключение к базе данных и обновил пользовательский интерфейс Icinga Web, интегрировав различные дополнения сообщества (PNP4Nagios, LConf, Heatmap и Business Process Addon). Проект достиг более 70 000 загрузок и вырос до 23 членов команды. [11]
На второй год существования Icinga отпраздновала 100 000-ю загрузку, интегрировала компонент API Icinga в Icinga Web, улучшила отчетность SLA и расширила виртуальные устройства Icinga до операционных систем Debian , OpenSUSE и CentOS . [12]
В октябре 2012 года проект Icinga выпустил технологическую предварительную версию Icinga 2. Это была замена основного фреймворка и ветвь параллельной разработки. Разработчики заявили, что хотят переписать ядро, чтобы исправить проблемы. К ним относятся сложная настройка и ограничения масштабируемости в больших развертываниях. Они планируют переписать ядро Icinga 2 на C++ и разработать новую архитектуру загрузчика компонентов. Они также планируют изменить способ выполнения проверок мониторинга. [13]
В июне 2014 года проект Icinga выпустил первую стабильную версию Icinga 2. [14] Новые функции, такие как агент или функция API, запланированы на последующие выпуски.
Благодаря своей природе как форка, Icinga предлагает функции Nagios с некоторыми дополнениями, такими как дополнительный модуль отчетности с улучшенной точностью SLA , дополнительные коннекторы баз данных для PostgreSQL и Oracle , а также распределенные системы для избыточного мониторинга. Icinga также поддерживает совместимость конфигурации и подключаемых модулей с Nagios, [11] облегчая миграцию между двумя программами мониторинга.
Icinga Core написан на языке C [17] и имеет модульную архитектуру с автономным ядром, пользовательским интерфейсом и базой данных, в которую пользователи могут интегрировать различные надстройки и плагины.
Последний взаимодействует через уровень абстракции Icinga Doctrine , REST и подключаемые API , которые являются посредниками между внешними данными и внутренними структурами. Такое объединение компонентов позволяет пользователям распространять систему Icinga для избыточного мониторинга. Оно также предоставляет пользователям свободу настраивать Icinga в соответствии со своими потребностями. [18]
Ядро Icinga управляет задачами мониторинга, получая результаты проверки от различных подключаемых модулей. Затем оно передает эти результаты в IDODB (база данных Icinga Data Out) через интерфейс IDOMOD (модуль вывода данных Icinga) и демон службы IDO2DB (вывод данных Icinga в базу данных) через зашифрованные SSL TCP-сокеты. Хотя оба они поставляются в пакете (также известны как IDOUtils) с ядром, они являются отдельными компонентами, которые можно разделить для распределения данных и процессов по нескольким серверам для распределенного мониторинга системы.
Пользовательский интерфейс Icinga Classic также поставляется в комплекте с Icinga Core и может использоваться в качестве замены веб-интерфейсу Icinga на основе PHP .
Icinga 2 управляет задачами мониторинга, запускает проверки и отправляет оповещения. Функции Icinga 2 могут быть включены по требованию, будь то функции по умолчанию, такие как компонент «проверка» или «уведомление», или внешние интерфейсы, совместимые с Icinga 1.x и ее пользовательскими интерфейсами, например, IDO DB (база данных Icinga Data Out). Icinga 2 поставляет встроенный кластерный стек, защищенный сертификатами SSL x509, что упрощает настройку распределенного мониторинга.
Синтаксис конфигурации отличается для Icinga Core 1.x и Nagios и требует миграции при обновлении.
Icinga предлагает пользователям веб-интерфейс для просмотра результатов мониторинга и отправки команд в ядро Icinga, называемое Icinga Web (также называемое New Web), — это проективный и основанный на PHP , вдохновленный Web 2.0 фронтенд , который использует Cronks ( виджеты ) для предложения настраиваемых панелей управления с функцией drag-n-drop. Icinga Web — это автономная часть программного обеспечения. Он взаимодействует с ядром, базой данных и сторонними надстройками через уровни thrinput/dmponent: абстракция Doctrine , уровень (вход/база данных), REST API (внешние скрипты) и интерфейс управления командами (запись в канал, выполнение команд).
Интерфейс отображает информацию о состоянии хоста и службы, историю, уведомления и карты состояния, показывающие состояние сети в режиме реального времени, а также поддерживает адреса IPv4 и IPv6 .
База данных Icinga Data Out (IDODB) — это точка хранения исторических данных мониторинга для доступа к надстройкам или веб-интерфейсу Icinga. В отличие от своего предшественника Nagios, Icinga поддерживает базы данных PostgreSQL и Oracle в дополнение к MySQL .
Проект Icinga предлагает дополнительный модуль Icinga Reporting на основе открытого исходного кода Jasper Reports . Он может быть интегрирован как в Icinga Classic, так и в Icinga Web-интерфейсы пользователя. Модуль предоставляет отчеты на основе шаблонов (например, 10 самых проблемных хостов или служб, обзор полной среды мониторинга, отчеты о доступности и т. д.), которые можно сохранять в репозитории с различными уровнями доступа и автоматизированной генерацией и распространением отчетов. Отчеты также можно просматривать в обоих дополнительных пользовательских интерфейсах Icinga.
Icinga Mobile — это пользовательский интерфейс для смартфонов и планшетных браузеров, работающих на WebKit . Обычно они доступны на iOS , Android , BlackBerry Tablet OS и webOS . Основанный на JavaScript и Sencha Touch , Icinga Mobile загружается на сервер для доступа авторизованных пользователей через их мобильные устройства. Таким образом, администрирование и обновления могут осуществляться централизованно, чтобы автоматически применяться ко всем пользователям компьютерной сети. [19]
Некоторые из самых популярных дополнений, расширяющих функциональность Icinga, включают в себя:
Icinga была развернута в распределенных и отказоустойчивых конфигурациях. [20] Программное обеспечение имеет модульную архитектуру с автономным ядром, веб-сайтом и IDODB (база данных Icinga Data Out), что обеспечивает распределенный мониторинг и мониторинг распределенных систем.
Nagios Remote Plugin Executor ( NRPE ) — это совместимый с Icinga агент, который позволяет осуществлять мониторинг удаленных систем с помощью скриптов, размещенных на удаленных системах. Он позволяет осуществлять мониторинг ресурсов, таких как использование диска, загрузка системы или количество пользователей, вошедших в систему в данный момент. Icinga периодически опрашивает агента на удаленной системе с помощью подключаемого модуля check_nrpe. В установках с использованием дополнительного пользовательского интерфейса Icinga Web данные мониторинга из нескольких экземпляров Icinga Core могут отображаться, если каждый экземпляр записывает данные в одну и ту же IDODB. Различные компоненты Icinga могут быть разделены и разбросаны в распределенной установке.
Доступ пользователей, уведомления и представления можно настраивать.