2013-09-03 2 views
3

내 질문은 다음과 유사합니다. How can I display the output of a Opscode Chef bash command in my console?Amazon OpsWorks에서 Chef의 로그 출력 레벨을 어떻게 설정할 수 있습니까?

실행중인 제조법에 대한 콘솔 출력을보고 싶습니다. 특히, JAVA_HOME이 설정되지 않았기 때문에 제 레시피가 JBoss를 시작하지 못했습니다. JAVA_HOME is undefined 문구가 요리사 출력물에 인쇄되지 않았기 때문에 이것을 파악하는 데 하루 종일 걸렸습니다.

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

는 어떻게 추가 할 수 있습니다 : 아마존 OpsWorks를 사용하는 경우, 그런 옵션이 없습니다 그러나 chef-solo -c solo.rb -j node.json -l debug

: 요리사 솔로를 실행하는 경우, 디버깅 출력을하는 것은에서와 같이 명령에 -l debug를 추가하여 켤 수 있습니다 로그 수준은 run_command입니까?

+0

이 문제에 대한 해결책을 찾았습니까? 자신의 질문에 대답해도 괜찮습니다. 정확한 답을 표시하는 것을 잊지 마십시오! :) – sethvargo

답변

3

시도 실행 :

 
cd /opt/aws/opsworks/current 
bundle exec chef-solo -l debug -c conf/solo.rb -j /var/lib/aws/opsworks/chef/XXX.json 
+0

opsworks에서 chef-11.10과 작동하지 않습니다. – dminer

7

소스 : http://docs.aws.amazon.com/opsworks/latest/userguide/troubleshoot.html

각 요리사 실행이 실행에 대한 자세한 설명을 제공하고 가치있는 문제 해결 자원 로그를 생성합니다. 로그의 세부 사항을 지정하려면 Chef :: Log.level 문을 원하는 로그 수준을 지정하는 사용자 지정 래서 피에 추가하십시오. 기본값은 info입니다. 다음 예제는 Chef 로그 레벨을 debug로 설정하는 방법을 보여줍니다. debug는 실행에 대한 가장 자세한 설명을 제공합니다. 당신의 조리법에

Chef::Log.level = :debug 

다음

require 'chef/log' 
Chef::Log.level = :debug 
... 

당신은 또한 스택 설정에서 custom_json 속성을 사용하여 로그를 제어 할 수 있습니다 추가 할 수 있습니다.

{"opsworks":{"chef_log_level":"debug"}} 

요리사와 opsworks에 대한 디버그에 위의 회전, 아직 당신이 떠들썩한 파티 또는 다른 스크립트를 사용하여 실행할 수있는 명령의 출력을 표시하지 않습니다.

+0

정답이어야합니다. – jshthornton

관련 문제