我们正在考虑使用 chef 来管理我们的应用服务器。因此,我们正在创建配方,以在特定情况下根据需要为我们配置资源。
但是如果执行失败会发生什么?我们必须手动处理这种情况吗?失败配方的日志是否发布在某个地方以供集中监控?是否有针对这种情况的常见解决方案,例如添加某种通知相关方的失败处理程序?
更新:我们在服务器上运行 chef-client 作为守护进程,-d -i 60
答案1
Chef 将输出记录到 STDOUT 或文件。但有时这还不够,特别是当它在作为守护进程运行时失败并且日志被轮换时,或者很难从集中式日志服务器中挖掘出来时。
Chef 有一个报告/异常处理 API。它在 wiki 上有详细记录,包括社区编写的示例处理程序的链接。
http://wiki.opscode.com/display/chef/Exception+and+Report+Handlers