Chef 로그 - AWS OpsWorks

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Chef 로그

중요

AWS OpsWorks Stacks은 더 이상 신규 고객을 받지 않습니다. 기존 고객은 2024년 5월 26일까지 OpsWorks 콘솔, API, CLI, CloudFormation 리소스를 정상적으로 사용할 수 있으며, 이때 중단될 예정입니다. 이러한 전환에 대비하려면 가능한 한 빨리 스택을 AWS Systems Manager으로 전환하는 것이 좋습니다. 자세한 정보는 AWS OpsWorks Stacks 수명 종료 관련 자주 묻는 질문AWS Systems Manager 애플리케이션 관리자로 AWS OpsWorks Stacks 애플리케이션 마이그레이션 섹션을 참조하세요.

Chef 로그는 주요 문제 해결 리소스 중 하나로, 특히 레시피 디버깅에 유용합니다. AWS OpsWorks Stacks는 각 명령에 대해 Chef 로그를 캡처하고 인스턴스의 최근 명령 30개에 대해 로그를 유지합니다. 실행이 디버깅 모드이므로 로그에는 stdoutstderror로 전송되는 텍스트를 비롯해 Chef 실행에 대한 자세한 설명이 포함됩니다. 레시피가 실패할 경우 로그에 Chef 스택 트레이스가 포함됩니다.

AWS OpsWorks Stacks는 Chef 로그를 볼 수 있는 방법을 다양하게 제공합니다. 로그 정보를 입수하면 이 정보를 사용하여 실패한 레시피를 디버깅할 수 있습니다.

참고

또한 SSH를 사용하여 인스턴스에 연결하고 CLI show_log 명령을 실행하여 지정된 로그의 끝부분을 볼 수도 있습니다. 자세한 내용은 Chef 로그 표시 섹션을 참조하세요.

콘솔을 사용하여 Chef 로그 보기

Chef 로그를 보는 가장 간단한 방법은 인스턴스의 세부 정보 페이지로 이동하는 것입니다. [Logs] 섹션에는 각 이벤트 및 Execute Recipes 명령에 대한 항목이 포함되어 있습니다. 다음은 인스턴스의 [Logs] 섹션입니다. Configure 및 Setup 수명 주기 이벤트에 해당하는 [configure] 및 [setup] 명령이 표시되어 있습니다.

해당 명령의 로그 열에서 표시를 클릭하면 해당 Chef 로그를 볼 수 있습니다. 오류가 발생할 경우 AWS OpsWorks Stacks가 자동으로 오류에 대한 로그를 엽니다. 일반적으로 이 로그는 파일 끝부분에 위치합니다.

CLI 또는 API를 사용하여 Chef 로그 보기

AWS OpsWorks Stacks CLI describe-commands 명령 또는 DescribeCommands API 작업을 사용하여 Amazon S3 버킷에 저장된 로그를 볼 수 있습니다. 다음은 CLI를 사용하여 지정된 인스턴스에 대한 현재 로그 파일 세트를 보는 방법을 보여줍니다. DescribeCommands를 사용하기 위한 절차는 기본적으로 비슷합니다.

AWS OpsWorks Stacks를 사용하여 인스턴스의 Chef 로그를 보려면
  1. 인스턴스의 세부 정보 페이지를 열고 인스턴스의 OpsWorks ID 값을 복사해 둡니다.

  2. 이 ID 값을 사용하여 다음과 같이 describe-commands CLI 명령을 실행합니다.

    aws opsworks describe-commands --instance-id 67bf0da2-29ed-4217-990c-d895d51812b9

    이 명령은 인스턴스에서 AWS OpsWorks Stacks가 실행한 각 명령의 포함 객체와 함께 JSON 객체를 반환하며, 최신 객체가 맨 위에 표시됩니다. 이 예제의 Type 파라미터에는 각 포함 객체의 명령 유형, configure 명령 및 setup 명령이 포함되어 있습니다.

    { "Commands": [ { "Status": "successful", "CompletedAt": "2013-10-25T19:38:36+00:00", "InstanceId": "67bf0da2-29ed-4217-990c-d895d51812b9", "AcknowledgedAt": "2013-10-25T19:38:24+00:00", "LogUrl": "https://s3.amazonaws.com/prod_stage-log/logs/b6c402df-5c23-45b2-a707-ad20b9c5ae40?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE &Expires=1382731518&Signature=YkqS5IZN2P4wixjHwoC3aCMbn5s%3D&response-cache-control=private&response-content-encoding=gzip&response-content- type=text%2Fplain", "Type": "configure", "CommandId": "b6c402df-5c23-45b2-a707-ad20b9c5ae40", "CreatedAt": "2013-10-25T19:38:11+00:00", "ExitCode": 0 }, { "Status": "successful", "CompletedAt": "2013-10-25T19:31:08+00:00", "InstanceId": "67bf0da2-29ed-4217-990c-d895d51812b9", "AcknowledgedAt": "2013-10-25T19:29:01+00:00", "LogUrl": "https://s3.amazonaws.com/prod_stage-log/logs/2a90e862-f974-42a6-9342-9a4f03468358?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE &Expires=1382731518&Signature=cxKYHO8mCCd4MvOyFb6ywebeQtA%3D&response-cache-control=private&response-content-encoding=gzip&response-content- type=text%2Fplain", "Type": "setup", "CommandId": "2a90e862-f974-42a6-9342-9a4f03468358", "CreatedAt": "2013-10-25T19:26:01+00:00", "ExitCode": 0 } ] }
  3. LogUrl 값을 브라우저에 복사해 로그를 확인합니다.

인스턴스에 많은 명령이 있을 경우 describe-commands에 파라미터를 추가하여 응답 객체에 포함된 명령을 필터링할 수 있습니다. 자세한 내용은 describe-commands를 참조하십시오.

인스턴스에서 Chef 로그 보기

참고

이 섹션의 각 항목은 Chef 12에 적용됩니다. Chef 11.10 및 이전 릴리스에 대한 Chef 로그의 위치에 대한 자세한 정보는 Linux용 Chef 11.10 및 이전 버전 문제 해결 단원을 참조하십시오.

Linux 인스턴스

AWS OpsWorks Stacks는 각 인스턴스의 Chef 로그를 /var/chef/runs 디렉터리에 저장합니다. (Linux 인스턴스의 경우 이 디렉터리에 JSON 형식 파일로 저장되는 연결된 데이터 백도 들어 있습니다.) 이 디렉터리에 액세스하려면 sudo 권한이 필요합니다. 각 실행에 대한 로그는 개별 실행의 하위 디렉터리 안에 위치하는 chef.log라는 파일에 기록됩니다.

AWS OpsWorks Stacks는 내부 로그를 인스턴스의 /var/log/aws/opsworks 폴더에 저장합니다. 일반적으로 이 정보는 문제 해결 목적으로는 그다지 유용하지 않습니다. 하지만 이러한 로그는 AWS OpsWorks Stacks 지원에 유용하며 서비스에 문제가 발생할 경우 로그를 제공하도록 요청받을 수 있습니다. Linux 로그가 때로는 유용한 문제 해결 데이터를 제공할 수도 있습니다.

Windows 인스턴스

에이전트 로그

Windows 인스턴스에서는 OpsWorks 로그가 다음과 같은 ProgramData 경로에 저장됩니다. 번호에 타임스탬프가 포함됩니다.

C:\ProgramData\OpsWorksAgent\var\logs\number
참고

기본적으로 ProgramData는 숨겨진 폴더입니다. 폴더 숨김을 해제하려면 [Folder Options]로 이동합니다. [View]에서 숨겨진 파일을 표시하는 옵션을 선택합니다.

다음 예제는 Windows 인스턴스에 대한 에이전트 로그입니다.

Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 5/24/2015 11:59 PM 127277 command.20150524.txt -a--- 5/25/2015 11:59 PM 546772 command.20150525.txt -a--- 5/26/2015 11:59 PM 551514 command.20150526.txt -a--- 5/27/2015 9:43 PM 495181 command.20150527.txt -a--- 5/24/2015 11:59 PM 24353 keepalive.20150524.txt -a--- 5/25/2015 11:59 PM 106232 keepalive.20150525.txt -a--- 5/26/2015 11:59 PM 106208 keepalive.20150526.txt -a--- 5/27/2015 8:54 PM 92593 keepalive.20150527.txt -a--- 5/24/2015 7:19 PM 3891 service.20150524.txt -a--- 5/27/2015 8:54 PM 1493 service.20150527.txt -a--- 5/24/2015 11:59 PM 112549 wire.20150524.txt -a--- 5/25/2015 11:59 PM 501501 wire.20150525.txt -a--- 5/26/2015 11:59 PM 499640 wire.20150526.txt -a--- 5/27/2015 8:54 PM 436870 wire.20150527.txt
Chef 로그

Windows 인스턴스에서는 Chef 로그가 다음과 같은 ProgramData 경로에 저장됩니다. 번호에 타임스탬프가 포함됩니다.

C:\ProgramData\OpsWorksAgent\var\commands\number
참고

이 디렉터리에는 첫 번째 (OpsWorks 소유) Chef 실행의 출력만 포함됩니다.

다음 예제는 Windows 인스턴스에 대한 OpsWorks 소유 Chef 로그입니다.

Mode LastWriteTime Name ---- ------------- ---- d---- 5/24/2015 7:23 PM configure-7ecb5f47-7626-439b-877f-5e7cb40ab8be d---- 5/26/2015 8:30 PM configure-8e74223b-d15d-4372-aeea-a87b428ffc2b d---- 5/24/2015 6:34 PM configure-c3980a1c-3d08-46eb-9bae-63514cee194b d---- 5/26/2015 8:32 PM grant_remote_access-70dbf834-1bfa-4fce-b195-e50e85402f4c d---- 5/26/2015 10:30 PM revoke_remote_access-1111fce9-843a-4b27-b93f-ecc7c5e9e05b d---- 5/24/2015 7:21 PM setup-754ec063-8b60-4cd4-b6d7-0e89d7b7aa78 d---- 5/26/2015 8:27 PM setup-af5bed36-5afd-4115-af35-5766f88bc039 d---- 5/24/2015 6:32 PM setup-d8abeffa-24d4-414b-bfb1-4ad07319f358 d---- 5/24/2015 7:13 PM shutdown-c7130435-9b5c-4a95-be17-6b988fc6cf9a d---- 5/26/2015 8:25 PM sync_remote_users-64c79bdc-1f6f-4517-865b-23d2def4180c d---- 5/26/2015 8:48 PM update_custom_cookbooks-2cc59a94-315b-414d-85eb-2bdea6d76c6a
사용자 Chef 로그

사용자의 Chef 실행에 대한 로그는 다음 다이어그램과 같이 Chef 명령의 번호를 사용하여 명명되는 폴더 안의 logfile.txt라는 이름의 파일에서 확인할 수 있습니다.

C:/chef └── runs └── command-12345 ├── attribs.json ├── client.rb └── logfile.txt

Chef 로그 해석

로그의 첫 부분은 대부분 내부 Chef 로깅을 포함합니다

# Logfile created on Thu Oct 17 17:25:12 +0000 2013 by logger.rb/1.2.6 [2013-10-17T17:25:12+00:00] INFO: *** Chef 11.4.4 *** [2013-10-17T17:25:13+00:00] DEBUG: Building node object for php-app1.localdomain [2013-10-17T17:25:13+00:00] DEBUG: Extracting run list from JSON attributes provided on command line [2013-10-17T17:25:13+00:00] INFO: Setting the run_list to ["opsworks_custom_cookbooks::load", "opsworks_custom_cookbooks::execute"] from JSON [2013-10-17T17:25:13+00:00] DEBUG: Applying attributes from json file [2013-10-17T17:25:13+00:00] DEBUG: Platform is amazon version 2013.03 [2013-10-17T17:25:13+00:00] INFO: Run List is [recipe[opsworks_custom_cookbooks::load], recipe[opsworks_custom_cookbooks::execute]] [2013-10-17T17:25:13+00:00] INFO: Run List expands to [opsworks_custom_cookbooks::load, opsworks_custom_cookbooks::execute] [2013-10-17T17:25:13+00:00] INFO: Starting Chef Run for php-app1.localdomain [2013-10-17T17:25:13+00:00] INFO: Running start handlers [2013-10-17T17:25:13+00:00] INFO: Start handlers complete. [2013-10-17T17:25:13+00:00] DEBUG: No chefignore file found at /opt/aws/opsworks/releases/20131015111601_209/cookbooks/chefignore no files will be ignored [2013-10-17T17:25:13+00:00] DEBUG: Cookbooks to compile: ["gem_support", "packages", "opsworks_bundler", "opsworks_rubygems", "ruby", "ruby_enterprise", "dependencies", "opsworks_commons", "scm_helper", :opsworks_custom_cookbooks] [2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook gem_support's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/gem_support/libraries/current_gem_version.rb [2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook packages's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/packages/libraries/packages.rb [2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook dependencies's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/dependencies/libraries/current_gem_version.rb [2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook opsworks_commons's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/opsworks_commons/libraries/activesupport_blank.rb [2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook opsworks_commons's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/opsworks_commons/libraries/monkey_patch_chefgem_resource.rb ...

파일의 이 부분은 주로 Chef 전문가에게 유용합니다. 대부분의 명령이 훨씬 더 많은 레시피와 관련되지만 실행 목록에는 두 개의 레시피만 나열됩니다. 이들 두 레시피는 다른 모든 내장 및 사용자 지정 레시피를 로드 및 실행하는 작업을 처리합니다.

이 파일에서 가장 중요한 부분은 일반적으로 끝부분입니다. 실행이 성공적으로 종료하면 다음과 같은 내용이 보일 것입니다.

... [Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: STDERR: [Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: ---- End output of /sbin/service mysqld restart ---- [Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: Ran /sbin/service mysqld restart returned 0 [Tue, 11 Jun 2013 16:00:50 +0000] INFO: service[mysql]: restarted successfully [Tue, 11 Jun 2013 16:00:50 +0000] INFO: Chef Run complete in 84.07096 seconds [Tue, 11 Jun 2013 16:00:50 +0000] INFO: cleaning the checksum cache [Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: removing unused checksum cache file /var/chef/cache/checksums/chef-file--tmp-chef-rendered-template20130611-4899-8wef7e-0 [Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: removing unused checksum cache file /var/chef/cache/checksums/chef-file--tmp-chef-rendered-template20130611-4899-1xpwyb6-0 [Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: removing unused checksum cache file /var/chef/cache/checksums/chef-file--etc-monit-conf [Tue, 11 Jun 2013 16:00:50 +0000] INFO: Running report handlers [Tue, 11 Jun 2013 16:00:50 +0000] INFO: Report handlers complete [Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: Exiting
참고

에이전트 CLI를 사용하여 실행 도중 또는 이후에 로그의 끝부분을 표시할 수 있습니다. 자세한 내용은 Chef 로그 표시 섹션을 참조하세요.

레시피가 실패할 경우 ERROR 수준 출력을 찾아야 합니다. 이 출력에는 예외, 그 다음에 Chef 스택 트레이스가 기록됩니다. 다음은 그 예입니다.

... Please report any problems with the /usr/scripts/mysqlbug script! [ OK ] MySQL Daemon failed to start. Starting mysqld: [FAILED]STDERR: 130611 15:07:55 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead. 130611 15:07:56 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead. ---- End output of /sbin/service mysqld start ---- /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/mixin/command.rb:184:in `handle_command_failures' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/mixin/command.rb:131:in `run_command' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/provider/service/init.rb:37:in `start_service' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/provider/service.rb:60:in `action_start' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource.rb:406:in `send' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource.rb:406:in `run_action' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:53:in `run_action' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:89:in `converge' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:89:in `each' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:89:in `converge' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection.rb:94:in `execute_each_resource' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in `step' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection.rb:92:in `execute_each_resource' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:84:in `converge' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/client.rb:268:in `converge' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/client.rb:158:in `run' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application/solo.rb:190:in `run_application' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application/solo.rb:181:in `loop' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application/solo.rb:181:in `run_application' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application.rb:62:in `run' /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/chef-solo:25 /opt/aws/opsworks/current/bin/chef-solo:16:in `load' /opt/aws/opsworks/current/bin/chef-solo:16

파일의 끝부분이 Chef 스택 트레이스입니다. 예외 바로 앞의 출력도 검토해야 합니다. 이 출력에 실패 원인을 판단하는 데 유용할 수 있는 package not available과 같은 시스템 오류가 포함되는 경우가 종종 있습니다. 이 경우 MySQL 데몬이 시작하지 못한 것입니다.

일반적인 Chef 로그 오류

다음은 일반적인 Chef 로그 오류와 그 해결 방법입니다.

로그를 찾을 수 없음

Chef 실행 시작 후 Chef 실행이 끝났을 때 웹 페이지에서 로그를 볼 수 있게 해주는 미리 서명된 Amazon S3 URL이 인스턴스로 전송됩니다. 이 URL은 2시간 후에 만료되므로 Chef 실행이 2시간 이상 걸릴 경우 Chef 실행 도중 문제가 발생하지 않는다 해도 로그가 Amazon S3 사이트로 업로드되지 않습니다. 로그 생성 명령은 성공하지만 로그를 미리 서명된 URL에서가 아니라 인스턴스에서만 볼 수 있습니다.

로그가 갑자기 끝남

Chef 로그가 성공을 나타내거나 오류 정보를 표시하지 않고 갑자기 끝날 경우 아마도 메모리 부족 상태가 발생하여 Chef가 로그를 완료하지 못한 것일 수 있습니다. 최선의 옵션은 더 큰 용량의 인스턴스를 사용하여 다시 시도하는 것입니다.

쿡북 또는 레시피 누락

Chef가 쿡북 캐시에 없는 쿡북 또는 레시피를 마주칠 경우 다음과 같은 로그가 기록됩니다.

DEBUG: Loading Recipe mycookbook::myrecipe via include_recipe ERROR: Caught exception during execution of custom recipe: mycookbook::myrecipe: Cannot find a cookbook named mycookbook; did you forget to add metadata to a cookbook?

이 항목은 mycookbook 쿡북이 쿡북 캐시에 없음을 나타냅니다. Chef 11.4에서는 metadata.rb에서 종속성을 올바로 선언하지 않을 경우에도 이 오류가 발생할 수 있습니다.

AWS OpsWorks Stacks는 레시피를 인스턴스의 쿡북 캐시로부터 실행합니다. 인스턴스가 시작하면 쿡북이 리포지토리에서 이 캐시로 다운로드됩니다. 하지만 이후에 리포지토리에서 쿡북을 수정하면 AWS OpsWorks Stacks는 온라인 인스턴스에서 캐시를 자동으로 업데이트하지 않습니다. 인스턴스 시작 후 쿡북을 수정했거나 새 쿡북을 추가한 경우 다음 단계를 수행하십시오.

  1. 리포지토리에서 변경을 커밋했는지 확인합니다.

  2. Update Cookbooks 스택 명령을 실행하여 리포지토리의 최신 버전으로 쿡북 캐시를 업데이트합니다.

로컬 명령 실패

Chef execute 리소스가 지정된 명령을 실행하지 못할 경우 다음과 같은 로그가 기록됩니다.

DEBUG: ---- End output of ./configure --with-config-file-path=/ returned 2 ERROR: execute[PHP: ./configure] (/root/opsworks-agent/site-cookbooks/php-fpm/recipes/install.rb line 48) had an error: ./configure --with-config-file-path=/

로그를 위로 스크롤하면 명령의 stderrstdout 출력이 보일 것입니다. 이들은 명령이 실패한 이유를 판단하는 데 도움이 됩니다.

패키지 실패

패키지 설치가 실패할 경우 다음과 같은 로그가 기록됩니다.

ERROR: package[zend-server-ce-php-5.3] (/root/opsworks-agent/site-cookbooks/zend_server/recipes/install.rb line 20) had an error: apt-get -q -y --force-yes install zend-server-ce-php-5.3=5.0.4+b17 returned 100, expected 0

로그를 위로 스크롤하면 명령의 STDOUT 및 STDERROR 출력이 보일 것입니다. 이들은 패키지 설치가 실패한 이유를 판단하는 데 도움이 됩니다.