После полутора лет интенсивной работы представлен (https://www.icinga.org/2014/06/16/icinga-2-0-has-arrived/) релиз системы мониторинга Icinga 2.0 (https://www.icinga.org/icinga2/), примечательный изменением методов определения конфигурации, переходом на модульную архитектуру и полной переработкой ядра системы мониторинга, которое было с нуля переписано на языке C++. Icinga представляет собой форк системы мониторинга Nagios, отделившийся (http://www.opennet.dev/opennews/art.shtml?num=28121) в начале мая 2009 года вследствие конфликта независимых разработчиков с компанией Nagios Enterprises. Исходные тексты Icinga распространяются в рамках лицензии GPL. <center><a href="https://www.icinga.org/wp-content/uploads/2012/10/Icinga2_Ec... src="http://www.opennet.dev/opennews/pics_base/0_1402940562.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
На уровне API в Icinga 2 обеспечена совместимость с веткой Icinga 1.x, что позволило сохранить работоспособность классического web-интерфейса пользователя (https://www.icinga.org/toolkit/icingaweb/), написанного на языке С++, мобильного клиента (https://www.icinga.org/toolkit/icinga-mobile/), web-интерфейса Icinga Web, написанного на языке PHP, и пакета icinga-reporting (https://www.icinga.org/toolkit/icinga-reporting/), предоставляющего аналитический модуль для генерации отчетов и работающего вкупе с системой JasperServer. Также сохранена совместимость с прослойками IDODB, позволяющими организовать хранение данных мониторинга и конфигурационной информации в СУБД MySQL, Oracle или PostgreSQL.
Ключевые особенности (http://docs.icinga.org/icinga2/latest/doc/module/icinga2/cha...) Icinga 2:
- Новый формат (https://www.icinga.org/icinga2/features/) конфигурации в стиле Puppet, разбитый на серию отдельных файлов (https://git.icinga.org/?p=icinga2.git;a=tree;f=etc/icinga2;h...). Новый формат предоставляет средства для задействования шаблонов и поддерживает определение простых зависимостей (host-host, service-service, host-service, service-host), без свойственной nagios путаницы в создании связок хост/сервис и определении иерархии связей между родительскими и дочерними хостами. Назначение объектов конфигурации на основе шаблонов производится через правила apply и assign, добавлены литералы для описания продолжительности времени в атрибутах, глобальные константы, операторы вычисления выражений, возможность вызова функций для сопоставления по шаблонам или регулярным выражениям.
Обеспечена начальная поддержка средств для динамического создания сервисов и опроса состояния их выполнения, пока ограниченная управлением уведомлениями. Для автоматического преобразования старой конфигурации в новый формат подготовлен специальный скрипт (https://github.com/Icinga/icinga2-migration). Для упрощения редактирования файлов конфигурации вручную подготовлены (http://docs.icinga.org/icinga2/latest/doc/module/icinga2/cha...) модули для подсветки синтаксиса в Vim и Nano;
- Упрощён (https://www.icinga.org/icinga2/architecture/#components) процесс установки. В базовую поставку включены IDO-прослойки, поддержка протокола Livestatus, компоненты для записи данных о производительности и библиотеки для обеспечения совместимости. Для включения/выключения дополнений теперь достаточно в процессе настройки набрать команды icinga2-enable-дополнение/icinga2-disable-дополнение. Например, для запуска классического интерфейса нужно активировать objects.cache, status.dat и log, для Icinga Web включить IDO, для Thruk и NagVis достаточно выполнить icinga2-enable-livestatus. Для быстрого развёртывания системы мониторинга подготовлен (http://docs.icinga.org/icinga2/latest/doc/module/icinga2/cha...) Vagrant-репозиторий для создания образов для систем виртуализации;
- Ядро системы мониторинга теперь работает в многопоточном режиме, что позволяет добиться производительности в тысячи проверок в секунду, используя мощность всех имеющихся процессорных ядер. Например, на одном сервере Icinga 2 смог выполнить миллион активных проверок в минуту при мониторинге 60 тысяч хостов. Для контроля за качеством выполнения проверок в систему интегрирована служба самодиагностики, следящая за параметрами производительности системы мониторинга;
- Встроенная поддержка расширений, доступных по протоколу Livestatus (https://github.com/sni/Monitoring-Livestatus). Реализация модуля Perfdata, позволяющего интегрировать в Icinga средства наглядного вывода данных на графиках, такие как PNP4Nagios (http://pnp4nagios.org/), inGraph (https://www.netways.org/projects/ingraph) и Graphite (http://graphite.wikidot.com/) (данные о производительности могут передаваться в Graphite напрямую по TCP);
<center><a href="https://www.icinga.org/wp-content/uploads/2012/10/icinga2_gr... src="http://www.opennet.dev/opennews/pics_base/0_1402940393.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
- Средства (https://www.icinga.org/icinga2/architecture/distributed-moni.../) для развёртывания кластера для обеспечения высокой доступности или распределённого мониторинга. Для активации кластерных возможностей достаточно выполнить команду icinga2-enable-cluster. Поддерживается распределение нагрузки между узлами кластера при выполнении операций проверки, отправки уведомлений и обновления БД. Конфигурация и сведения о состоянии автоматически реплицируются между всеми узлами, что позволяет создавать отказоустойчивые конфигурации. Весь обмен данными меду узлами производится через зашифрованные каналы связи.
<center><a href="https://www.icinga.org/wp-content/uploads/2014/06/HA-cluster... src="http://www.opennet.dev/opennews/pics_base/0_1402942531.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
<center><a href="https://www.icinga.org/wp-content/uploads/2014/06/distribute... src="http://www.opennet.dev/opennews/pics_base/0_1402942633.jpg" style="border-style: solid; border-color: #606060; border-width: 1px;max-width:100%;" title="" border=0></a></center>
URL: https://www.icinga.org/2014/06/16/icinga-2-0-has-arrived/
Новость: http://www.opennet.dev/opennews/art.shtml?num=40013