У меня есть пара (скажем, 40) рабочих станций и серверов, которые настроены с использованием Ansible в конфигурации pull. На каждой машине есть задание cron, которое использует ansible-pull
чтобы вытащить репозиторий git и применить его к самому хосту. Результаты в настоящее время отправлены мне по электронной почте.
В электронных письмах я должен проверить, не отправили ли некоторые из хостов электронное письмо в тот день, чтобы выяснить, что они либо просто отключены, либо у них есть другие проблемы. Если машина отсутствует, я пытаюсь подключиться через SSH. Если он выключен, ничего страшного. В противном случае я пытаюсь исправить проблему.
Пару дней назад я установил Nagios на одном сервере, чтобы получить обзор машин. Настроить мониторинг через ping и SSH было достаточно просто, теперь я вижу, какие машины работают, а какие не работают.
Теперь я хотел бы как-то также отслеживать состояние Ansible в Nagios. Я не нашел прямого плагина на Nagios Exchange, поэтому у меня возникли следующие идеи:
Напишите вывод ansible-pull
в файл журнала с меткой времени, а затем позволить хосту Nagios получить все журналы с машин. Затем необходимо проверить, что последняя временная метка не старше 24 + X часов, где X - некоторый запас, например, 1 час.
Преобразуйте все обратно в архитектуру push и просто запустите ansible-playbook
на сервере инфраструктуры. Затем создается какой-то файл, и у меня есть обзор, который может быть каким-то образом проанализирован Nagios.
Перенесите наше управление конфигурацией в Puppet, поскольку в нем, похоже, есть встроенный мониторинг, и используйте его вместо Nagios.
Покупка Ansible Tower может быть решением, но на это не будет денег. До сих пор люди приходили ко мне в офис, если их рабочая станция зависала, так что у нас действительно нет бизнес-потребности в системе мониторинга. Я хочу делать это только с бесплатными программами.
Первый вариант кажется самым простым из текущих настроек, я просто не уверен, какой будет разумная реализация. Буду очень признателен за ответ, если он предоставит мне приблизительный план реализации и указатели на необходимые плагины для Nagios.
Для этого вы должны использовать какую-либо форму или удаленное выполнение команд. Icinga2 Agent, NRPE или SSH и поместите исполняемый файл проверки на саму машину. Он будет проверен локально и просто вернет результат проверки.