gpt4 book ai didi

chef-infra - 如何在 Amazon OpsWorks 上为 Chef 设置日志输出级别?

转载 作者:行者123 更新时间:2023-12-05 00:38:51 27 4
gpt4 key购买 nike

我的问题类似于:How can I display the output of a Opscode Chef bash command in my console?

我希望能够看到我正在运行的配方的控制台输出。特别是,我的配方无法启动 JBoss,因为 JAVA_HOME没有被设置。我花了一整天才弄明白,因为声明 JAVA_HOME is undefined没有被打印到 Chef 输出中。单独运行 Chef 时,可以通过附加 -l debug 来打开调试输出。到命令,如:chef-solo -c solo.rb -j node.json -l debug
但是,在使用 Amazon OpsWorks 时,没有这样的选项:

sudo opsworks-agent-cli run_command [activity] [date] [/path/to/valid/json.file]

如何将日志级别添加到 run_command ?

最佳答案

来源:http://docs.aws.amazon.com/opsworks/latest/userguide/troubleshoot.html

每次 Chef 运行都会生成一个日志,其中提供了运行的详细描述,并且是宝贵的故障排除资源。要指定日志中的详细信息量,请将 Chef::Log.level 语句添加到指定所需日志级别的自定义配方。默认值为:info。以下示例展示了如何将 Chef 日志级别设置为 :debug,它提供了最详细的运行描述。

Chef::Log.level = :debug

在您的 Recipe 中,添加以下内容
require 'chef/log'
Chef::Log.level = :debug
...

您还可以使用堆栈设置中的 custom_json 属性控制日志。
{"opsworks":{"chef_log_level":"debug"}}

以上打开了chef 和opsworks 的调试,但还没有显示您可能使用bash 或其他脚本运行的命令的输出。

关于chef-infra - 如何在 Amazon OpsWorks 上为 Chef 设置日志输出级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18598920/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com