Можно создать задачу в планировщике задач, который будет инициирован каждый раз, когда конкретное событие зарегистрировано. Если можно выяснить, какой идентификатор события зарегистрирован, когда сетевое соединение потеряно, у Вас может быть та задача, запускает Ваш скрипт.
Самая легкая интеграция между марионеткой и mcollective с Агентом Puppetd и, дополнительно, марионеточный командующий -
http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/AgentPuppetd
http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/ToolPuppetcommander
Не используйте rabbitmq, особенно если у Вас есть какой-либо значительный масштаб. ActiveMQ является лучшей поддерживаемой, лучшей зарегистрированной системой массового обслуживания для использования с mcollective.
Для начала работы проверяют страницу скринкастов Pienaar RI - документы довольно хороши, но скринкасты получат Вас дескриптор на понятиях намного быстрее. Я особенно рекомендую Поток сообщений, Компоненты и скринкаст Промежуточного программного обеспечения.
Мой совет состоит в том, чтобы начать изучать Марионетку сначала и затем волноваться о реализации MCollective позже. Пока у Вас нет довольно полной Марионеточной установки среды, mcollective действительно не лучше, чем cssh. http://sourceforge.net/projects/clusterssh/
После того как у Вас есть Марионеточная работа, и Вы реализовали пользовательские факты и классификацию, затем MCollective действительно будет полезен.
Так, запустите простой только с Марионеткой.
Я недавно настроил puppet + mcollective + rabbitmq. У Stack Exchange есть и другие ответы, сравнивающие RabbitMQ и ActiveMQ. Google предлагает множество анекдотов, свидетельствующих о том, что RabbitMQ хорошо масштабируется. Я предпочел его, потому что я мог apt-get установить пакеты Ubuntu с сайта rabbitmq и быстро начать работу, и, похоже, до сих пор он работает нормально.
Некоторые предложения:
. Установите пакеты puppet и mcollective из puppetlabs и настройте параметры apt для закрепления в их репозитории. . Установите пакеты rabbitmq из репозитория rabbitmq apt, аналогично закрепленному.
В Ubuntu Lucid с установленным rabbitmq вы настраиваете файл конфигурации:
/etc/rabbitmq/rabbitmq.config:
[ { rabbitmq_stomp, [{tcp_listeners, [{"127.0.0.1", 6163}]}, {default_user, [{login, "guest"},{passcode, "guest"}]} ] } ].
Затем для mcollective у вас есть /etc/mcollective/{server,client}.cfg, которые определяют хост, порт и учетные данные для разговора с кроликом:
... snip ... connector = stomp plugin.stomp.host = rabbitmq.yourdomain plugin.stomp.port = 6163 plugin.stomp.user = guest plugin.stomp.password = guest
Затем вы сможете увидеть, как они взаимодействуют:
mco ping mc-find-hosts
Mcollective не так уж много, вам необходимо добавить плагины:
http://projects.puppetlabs.com/projects/mcollective-plugins/wiki/InstallingPlugins
, в том числе один для взаимодействия с марионеткой, службами, процессами и т. д.