Я занимаюсь разработкой метода автоматизации новых виртуальных машин в моей среде. 90% наших машин виртуальные, но процесс одинаков как для физических образов, так и для образов на основе VMware. Сейчас я использую cobbler для установки базовой ОС. Сценарий кикстарта имеет обработчики сообщений для изменения репозитория yum и установки puppet и func. Когда серверы запущены, я вручную добавляю их в nagios и подписываю сертификат через puppetmaster. С тех пор я перенес большинство ресурсов на использование mysql в качестве бэкэнда.
Я хотел посмотреть, что делают другие, и моя цель на 2011 год - провести марионеточную инвентаризацию оборудования в mysql, и каким-то образом я напишу сценарий python, чтобы nagios получал информацию и автоматически добавлял ее для целей мониторинга. Довольно утомительно добавлять каждый новый сервер в nagios, панель управления Puppet, munin и т. Д.
Сапожник запутан ИМО. Вы могли бы использовать мастер чтобы автоматизировать большую часть этого за вас. (Включая подпись марионеточного сертификата). Он также может выполнять часть инвентаризации и мониторинга отчетов Puppet. Все особенности:
Foreman - это приложение на Rails, поэтому его легко расширять. Вы можете добавить код для включения обработчика post-create / destroy для добавления / удаления серверов в Nagios. Или просто прочтите базу данных Foreman hosts, чтобы предоставить Nagios списки хостов. В API здесь может быть полезно.
Почему вы не используете функциональность Nagios, встроенную в Puppet? http://blog.gurski.org/index.php/2010/01/28/automatic-monitoring-with-puppet-and-nagios/
Я в почти такой же ситуации. На данный момент самая большая проблема - это сертификаты func и puppet, как в новых сборках, так и чаще всего при повторной сборке существующего сервера. Это и ключи ssh. Итак, что вам следует сделать дальше, а затем написать о том, чтобы я мог украсть, это выяснить, как заставить func, puppet и ssh самостоятельно разбираться с их ключами, чтобы мне не приходилось думать об этом.
Что касается добавления в Nagios, если вы просто изменяете файлы конфигурации самостоятельно, я бы посоветовал взглянуть на NConf http://www.nconf.org/dokuwiki/doku.php
Также см. Еще один вопрос, на который я ответил, ссылаясь на NConf, здесь Мониторинг статуса VPN-клиентов
Он не автоматизирует, но у него есть функция клонирования, которая позволяет легко клонировать аналогичное оборудование, обновлять сетевой адрес и затем запускать скрипт для обновления конфигураций nagios.
Меня это тоже раздражает, в основном из-за добавления каждого нового сервера в nagios. Чтобы упростить добавление нового сервера в nagios, я начал использовать веб-инструмент администрирования NagiosQL. http://www.nagiosql.org.
Я попробовал несколько инструментов администрирования nagios и могу сказать, что это лучшее, что я нашел, и с ним довольно легко настроить и работать с ним. Я использую его в течение нескольких месяцев и считаю, что быстрее настроить новый сервер с помощью этого инструмента, чем настраивать новый сервер вручную в файлах конфигурации.
Используем стателлит
Для nagios у нас есть каналы конфигурации / программного обеспечения с ключом активации для регистрации хоста на каналах и загрузки правильных пакетов. Мы также используем пре и пост скрипты для некоторых вещей. Мы вручную добавляем серверы в nagios, но нет никаких причин, по которым мы не могли бы это написать, за исключением того, что мы ленивы. У нас есть база данных ресурсов, отличная от спутниковой (поскольку она должна отслеживать хосты многих ОС, а не только красную шляпу), к которой мы добавляем серверы вручную. Мы не писали сценарий обновления assetdb, но мы намерены использовать интерфейс XML-RPC в сателлите.
Мы также используем интерфейс XML-RPC в сателлите с другим скриптом, который также разговаривает с ESXi, чтобы выяснить, есть ли у нас в сателлите машины, которые больше не существуют как виртуальные машины и поэтому могут быть удалены, и чтобы убедиться, что все машины на ESX находятся в соответствующей спутниковой группе, чтобы убедиться, что они исправлены, мы исправляем исправления через спутник - и пакетируем исправление через группы спутниковых систем.
Я не уверен в аспекте марионеточного сертификата, так как я никогда не настраивал марионетку, поэтому я не уверен, что здесь задействовано.