Назад | Перейти на главную страницу

Могу ли я отправлять проверочные сценарии от мастера к клиентам и поддерживать бит выполнения с помощью Icinga2?

Я считаю, что я успешно настроил Icinga 2 на Debian 9 (Stretch), используя стандартные пакеты Debian с режимом «Синхронизация конфигурации сверху вниз» в качестве описанный в документации Icinga.

Я установил icinga2 и monitoring-plugins-basic на клиентах и ​​могу добавлять удаленные проверки, используя check_apt и т.д. мне даже удалось добавить свой CheckCommands через механизм "глобальных шаблонов", которые автоматически отправляются клиентам и попадают в /var/lib/icinga2/api/zones/global-templates/_etc/

У меня есть несколько собственных проверочных скриптов (написанных на оболочке и Python), которые я также хотел бы запустить. Я положил их в /etc/icinga2/zones.d/global-templates тоже, и они также отправляются клиентам. Однако по пути они теряют свой бит выполнения, поэтому я вынужден явно предоставлять интерпретатор при их запуске. Это работает, но немного некрасиво.

Есть ли лучший способ отправить мои проверочные скрипты от мастера к клиентам? Если нет, есть ли способ сохранить бит выполнения с помощью этого метода?

Не делай этого. Синхронизация конфигурации кластера предназначена только для простых файлов конфигурации.

В то время как сценарию может потребоваться просто исполняемый бит, двоичные файлы с другой архитектурой и зависимостями библиотек представляют собой большую проблему.

Путь к синхронизированной конфигурации тоже может измениться, надежного способа зависеть от этого нет.

Развертыванию таких сценариев можно помочь с помощью инструментов управления (жизненным циклом), таких как Puppet, Ansible и т. Д. Решению зависимостей сценариев может помочь полное создание пакета из ваших сценариев, доступных в репозитории программного обеспечения.

На моей предыдущей работе у меня был центральный репозиторий плагинов, который регулярно проверялся на клиентах.