Как отслеживать изменения, внесенные в системы с помощью ножа в шеф-поваре?

Я хотел бы иметь возможность проверять и отслеживать изменения в node, управляемые шеф-поваром. В идеале я хотел бы увидеть, было ли/когда изменение было внесено в node, чтобы иметь возможность сопоставлять изменения с инцидентами.

Есть ли встроенная функциональность в шеф-поваре, которая позволяет генерировать такие вещи? Или, может быть, надстройка, чтобы я мог добавить в этот вид ведения журнала/аудита?

Ответ 1

jtimberman demo handler на https://jtimberman.posterous.com/a-simple-report-handler показывает, как получить доступ к конкретным ресурсам, которые были обновлены во время прогона chef-client. Вы можете написать обработчик, который отправляет электронную почту, или сообщение HTTP, или любой другой механизм уведомления, который вам нравится.

Обработчики шеф-повара могут быть распределены и установлены как часть вашего node run_list. У меня есть несколько обработчиков, установленных путем модификации /etc/chef/client.rb, но, видимо, в кулинарных книжках сообщества есть поваренная книга chef_handler, см. https://github.com/opscode/cookbooks/blob/master/chef_handler/README.md. Возможно, это может быть настройка обработчиков без необходимости обманывать шаблонами.

Ответ 3

Вы можете добавить настраиваемый обработчик отчетов, который будет проходить через все ресурсы, которые были обновлены во время сеанса chef-solo или chef-client, записать их и, возможно, отправить их по электронной почте в sysadmin.