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

Мониторинг 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 Tower может быть решением, но на это не будет денег. До сих пор люди приходили ко мне в офис, если их рабочая станция зависала, так что у нас действительно нет бизнес-потребности в системе мониторинга. Я хочу делать это только с бесплатными программами.

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

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