Выпуск полностью переработанной системы мониторинга Icinga 2

После полутора лет интенсивной работы представлен релиз системы мониторинга Icinga 2.0, примечательный изменением методов определения конфигурации, переходом на модульную архитектуру и полной переработкой ядра системы мониторинга, которое было с нуля переписано на языке C++. Icinga представляет собой форк системы мониторинга Nagios, отделившийся в начале мая 2009 года вследствие конфликта независимых разработчиков с компанией Nagios Enterprises. Исходные тексты Icinga распространяются в рамках лицензии GPL.

На уровне API в Icinga 2 обеспечена совместимость с веткой Icinga 1.x, что позволило сохранить работоспособность классического web-интерфейса пользователя, написанного на языке С++, мобильного клиента, web-интерфейса Icinga Web, написанного на языке PHP, и пакета icinga-reporting, предоставляющего аналитический модуль для генерации отчетов и работающего вкупе с системой JasperServer. Также сохранена совместимость с прослойками IDODB, позволяющими организовать хранение данных мониторинга и конфигурационной информации в СУБД MySQL, Oracle или PostgreSQL.

Ключевые особенности Icinga 2:

  • Новый формат конфигурации в стиле Puppet, разбитый на серию отдельных файлов. Новый формат предоставляет средства для задействования шаблонов и поддерживает определение простых зависимостей (host-host, service-service, host-service, service-host), без свойственной nagios путаницы в создании связок хост/сервис и определении иерархии связей между родительскими и дочерними хостами. Назначение объектов конфигурации на основе шаблонов производится через правила apply и assign, добавлены литералы для описания продолжительности времени в атрибутах, глобальные константы, операторы вычисления выражений, возможность вызова функций для сопоставления по шаблонам или регулярным выражениям.

    Обеспечена начальная поддержка средств для динамического создания сервисов и опроса состояния их выполнения, пока ограниченная управлением уведомлениями. Для автоматического преобразования старой конфигурации в новый формат подготовлен специальный скрипт. Для упрощения редактирования файлов конфигурации вручную подготовлены модули для подсветки синтаксиса в Vim и Nano;

  • Упрощён процесс установки. В базовую поставку включены IDO-прослойки, поддержка протокола Livestatus, компоненты для записи данных о производительности и библиотеки для обеспечения совместимости. Для включения/выключения дополнений теперь достаточно в процессе настройки набрать команды icinga2-enable-дополнение/icinga2-disable-дополнение. Например, для запуска классического интерфейса нужно активировать objects.cache, status.dat и log, для Icinga Web включить IDO, для Thruk и NagVis достаточно выполнить icinga2-enable-livestatus. Для быстрого развёртывания системы мониторинга подготовлен Vagrant-репозиторий для создания образов для систем виртуализации;
  • Ядро системы мониторинга теперь работает в многопоточном режиме, что позволяет добиться производительности в тысячи проверок в секунду, используя мощность всех имеющихся процессорных ядер. Например, на одном сервере Icinga 2 смог выполнить миллион активных проверок в минуту при мониторинге 60 тысяч хостов. Для контроля за качеством выполнения проверок в систему интегрирована служба самодиагностики, следящая за параметрами производительности системы мониторинга;
  • Встроенная поддержка расширений, доступных по протоколу Livestatus. Реализация модуля Perfdata, позволяющего интегрировать в Icinga средства наглядного вывода данных на графиках, такие как PNP4Nagios, inGraph и Graphite (данные о производительности могут передаваться в Graphite напрямую по TCP);

  • Средства для развёртывания кластера для обеспечения высокой доступности или распределённого мониторинга. Для активации кластерных возможностей достаточно выполнить команду icinga2-enable-cluster. Поддерживается распределение нагрузки между узлами кластера при выполнении операций проверки, отправки уведомлений и обновления БД. Конфигурация и сведения о состоянии автоматически реплицируются между всеми узлами, что позволяет создавать отказоустойчивые конфигурации. Весь обмен данными меду узлами производится через зашифрованные каналы связи.


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.