Мониторинг Ansible pull с помощью Nagios

У меня есть пара (скажем, 40) рабочих станций и серверов, которые настроены с использованием Ansible в конфигурации pull. На каждой машине есть задание cron, которое использует ansible-pull для извлечения репозитория git и применения его к самому хосту. Результаты в настоящее время отправлены по электронной почте на мою учетную запись.

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

Пару дней назад я установил Nagios на одном сервере, чтобы получить обзор машин. Настроить мониторинг через ping и SSH было достаточно просто, теперь я вижу, какие машины работают, а какие нет.

Теперь я хотел бы как-то также отслеживать состояние Ansible в Nagios. Я не нашел прямого плагина на Nagios Exchange, поэтому у меня возникли следующие идеи:

  1. Записать вывод ansible-pull в файл журнала с меткой времени, а затем позволить хосту Nagios получить все журналы с машин. Затем нужно будет проверить, что последняя временная метка не старше 24 + X часов, где X - некоторый запас, например, 1 час.

  2. Преобразуйте все обратно в архитектуру push и просто запустите ansible-playbook на сервере инфраструктуры. Затем создается какой-то файл, и у меня там есть обзор, который может быть каким-то образом проанализирован Nagios.

  3. Перенесите наше управление конфигурацией в Puppet, поскольку он, похоже, имеет встроенную систему мониторинга и используйте его вместо Nagios.

  4. Покупка Ansible. башня может быть решением, но денег на это не будет. До сих пор люди приходили ко мне в офис, если их рабочая станция зависала, так что у нас действительно нет бизнес-потребности в системе мониторинга. Я хочу делать это только с помощью бесплатного программного обеспечения.

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

1
задан 19 August 2018 в 12:45
1 ответ

Для этого вы должны использовать какую-либо форму или удаленное выполнение команд. Icinga2 Agent, NRPE или SSH и поместите исполняемый файл проверки на саму машину. Он будет проверен локально и просто вернет результат проверки.

2
ответ дан 3 December 2019 в 20:12

Теги

Похожие вопросы