.ebextensions/start.config
WARバンドルのルートフォルダーにファイルを追加し( AWSの提案に従って)、Elastic Beanstalkにデプロイしましたが、何も起こりませんでした。EC2インスタンスのどこで、このファイル処理のログを確認できますか?それとも、EBTのTAILレポートでこの情報を見ることができますか?
6 に答える
オンライン コンソールを使用して、Elastic Beanstalk 環境のログのスナップショットを作成します。
ログを表示するときは、「cfn-init.log」で始まるセクションを検索してください。
そのセクションには、次のようなエントリが表示されます
2013-08-30 10:25:13,517 [INFO] Command 01-ec2setcomputername-enable succeeded
2013-08-30 10:25:24,516 [INFO] Command 02-install-server-monitor succeeded
2013-08-30 10:25:30,115 [INFO] Command 03-install-agent succeeded
ここで、01-ec2setcomputername-enable などは、.config ファイル内のコマンドの名前です。コマンドが失敗した場合は、ここにもエラー メッセージが表示されます。
Web UI でいくつかのログを追跡して、機能したかどうかを確認できます.ebextensions
( Elastic Beanstalk → 環境の表示 → Logs 経由)。定義したコマンドごとに、成功または失敗のメッセージが表示されます。(たとえば、 という名前のコマンドの場合、 の01_setup
ようなメッセージが表示されますcommand 01_setup succeeded
。)
コマンド出力の表示
ログ スナップショットにはコマンドが失敗したことが示されますが、コマンド出力は表示されません。
[ERROR] Command 01_setup (setup.cmd) failed
[ERROR] Error encountered during build of postbuild_0_server: Command 01_setup failed
Traceback (most recent call last):
<irrelevant traceback>
基盤となる EC2 サーバーに接続し、コマンド出力をcfn-init-cmd.log
ファイル ( c:\cfn\log\cfn-init-cmd.log
Windows または/var/log/cfn-init-cmd.log
Linux) で表示できます。これにより、より有用な情報が提供されます。
[INFO] Running command "setup.cmd"
[INFO] -----------------------Command Output-----------------------
[INFO] 'setup.cmd' is not recognized as an internal or external command,
[INFO] operable program or batch file.
[INFO] ------------------------------------------------------------
[ERROR] Exited with error code 1
EC2 インスタンスへの接続については、Windows の手順を参照してください。
さらなるトラブルシューティング
コマンド出力では、任意のコマンドを実行して、何が起こっているかを把握することもできます。たとえば、コマンドが実行されているディレクトリはどれですか?
.ebextensions
ファイルは次のとおりです。
container_commands:
where_am_i:
command: dir
そして、ここに出力がありますcfn-init-cmd.log
:
[INFO] Running command "dir"
[INFO] -----------------------Command Output-----------------------
[INFO] Volume in drive C has no label.
[INFO] Volume Serial Number is 12A7-BAEB
[INFO]
[INFO] Directory of C:\inetpub\wwwroot
[INFO]
[INFO] 05/29/2015 05:42 PM <DIR> .
[INFO] 05/29/2015 05:42 PM <DIR> ..
[INFO] 05/29/2015 05:42 PM <DIR> .ebextensions
[INFO] 05/29/2015 05:31 PM <DIR> bin
[INFO] 05/28/2015 05:20 PM 106 Global.asax
[INFO] 05/28/2015 05:20 PM 498 packages.config
[INFO] 05/28/2015 05:20 PM 2,054 README.md
[INFO] 05/29/2015 06:56 PM 3,064 Web.config
[INFO] 4 File(s) 5,722 bytes
[INFO] 4 Dir(s) 4,553,273,344 bytes free
[INFO] ------------------------------------------------------------
[INFO] Completed successfully.
Linux 32 ビット Tomcat 7 コンテナーでは、次 /var/log/eb-tools.log
の場所でログを見つけることができました。ここで、どのコマンドが失敗したかを確認できました。
Windows の場合、カスタム ebextension 出力を含むログ ファイルは、EB コンソールの「request logs」コマンドで取得する EB ログの一部ではありません。ただし、.ebextension ファイルで次の file コマンドを使用して、そのログ ファイルをバンドルに簡単に追加できます。
files:
"C:\\Program Files\\Amazon\\ElasticBeanstalk\\config\\taillogs.d\\cfn-init-cmd.conf" :
content: |
c:\cfn\log\cfn-init-cmd.log
ログ バンドルに追加するログ ファイル (cfn-init-cmd.log) の名前で新しい構成ファイル (cfn-init-cmd.conf) を作成するだけです。