Настройка пассивного режима в Icinga2

Предисловие.

Имеется работающая Icinga, настроенная «по простому», т.е. все проверки выполняются на машине, на которой она и установлена. Пока мы проверяем работу http-сервера, или пингаем маршрутизатор, всё хорошо. Однако, если надо что-то проверить на удалённой машине не связанное с сетевыми сервисами, всё становится значительно хуже. Такие проверки можно выполнить тремя способами:

  1. Настроить беспарольный (по ключу) доступ на удалённую машину по SSH. Есть смутные подозрения, что это неправильно.
  2. Поставить на удалённые машины Icinga, настроить её работу в режиме агента. Это хорошее решение, которое будет рассмотрено в этой статье, т.к. вместе с Icinga можно поставить и богатый набор плагинов для проверки всего на свете. Однако, этот вариант не всегда возможен или желателен – команда df есть на всех *nix'ах, curl/wget тоже, и ставить icinga ради мониторинга свободного пространства на файлухах – это overkill.
  3. Воспользоваться Icinga REST API. Это вариант тоже будет рассмотрен. Хорош именно тем, что позволяет отдавать результаты на головную машину с Icinga без установки Icinga на удалённых машинах.

Головная машина aka Master

На головной машине говорим icinga2 node wizard.

ici-master # icinga2 node wizard
Welcome to the Icinga 2 Setup Wizard!
 
We will guide you through all required configuration details.
 
Please specify if this is an agent/satellite setup ('n' installs a master setup) [Y/n]: n
 
Starting the Master setup routine...
 
Please specify the common name (CN) [ici-master.catalysis.ru]: 
Reconfiguring Icinga...
Checking for existing certificates for common name 'ici-master.catalysis.ru'...
Certificate '/var/lib/icinga2/certs//ici-master.catalysis.ru.crt' for CN 'ici-master.catalysis.ru' already existing. Skipping certificate generation.
Generating master configuration for Icinga 2.
'api' feature already enabled.
 
Master zone name [master]: 
 
Default global zones: global-templates director-global
Do you want to specify additional global zones? [y/N]: 
Please specify the API bind host/port (optional):
Bind Host []: 
Bind Port []: 
 
Do you want to disable the inclusion of the conf.d directory [Y/n]: n
 
Done.
 
Now restart your Icinga 2 daemon to finish the installation!

Тут надо сделать несколько оговорок:

  • У меня было несколько неудачных запусков этой команды, которые ломались на правах доступа. Хоть команда и запускается от рута, но она делает setuid(2) на пользователя icinga. Результатом этих запусков является, например, строка «Certificate … already existing. Skipping certificate generation.»
  • Из общих соображений понятно, что смешивать активные проверки (когда icinga на головной машине делает проверки) и пассивные проверки (когда она получает результаты проверок от машин-агентов) не очень хорошо. Однако, у меня уже было настроено много проверок, которые не хотелось терять. Поэтому на вопрос о блокировке инклуда директории conf.d было сказано n

Настройка Icinga, как агента

Ставим Icinga, после установки от рута говорим icinga2 node wizard


sys/настройка_пассивного_режима_в_icinga2.txt · Последнее изменение: 2020-04-14 23:42 — Andrew A. Sabitov