Я хотел бы проверить с помощью моего мониторинга nagios, использует ли каждый узел текущую версию каталога, предоставленную puppetmaster.
В моей ситуации есть:
Я хотел бы создать nrpe плагин на host1, host2, hostX для:
Проблемы:
Итак, мой вопрос: как отслеживать состояние марионеточных агентов и получать уведомления, если какой-либо хост использует старый каталог марионеток? Есть ли в этом смысл?
Я написал простой check_puppet Скрипт NRPE, который делает большую часть того, что вы хотите. Это основано на Р.И. Пиенаара оригинал которого мне было больше чем нужно. В обоих случаях мы анализируем /var/lib/puppet/state/last_run_summary.yaml, чтобы увидеть состояние последнего запущенного агента.
Я не вижу преимущества использования третьей части программного обеспечения для сравнения версий каталога между мастером и агентом, когда нормальный запуск агента должен предоставить достаточно данных для правильного предупреждения.
Вот что мы делаем:
В наших настройках у нас есть сценарий-оболочка для вызова puppet agent --test
что также проверяет наличие некоторых параметров среды, как существование «стопор файл», который позволяет вошедший в админах, чтобы отключить автоматизации временно.
В сценарии оболочки мы касаемся файла состояния (/ var / state / puppet-run) каждый раз, когда агент марионетки выходит с кодом состояния 0.
Затем мы отслеживаем возраст этого файла, чтобы определить, старше ли он, например, в 1,5 раза больше времени между запусками марионетки.
Именно эта проблема вдохновила меня на создание этого сервиса, чтобы люди могли просто двигаться дальше и не создавали собственный инструмент мониторинга. Проверять, выписываться http://cronitor.io - один монитор бесплатный, есть платные тарифные планы для бизнеса.