Google AppEngine の Managed VMs Beta を試していますが、AppEngine 開発サーバーを使用して IDE でローカルに実行していますが、mvn appengine:gcloud_app_run
.
私は一貫して永遠に得ます:
"[INFO] INFO: default: "GET /_ah/health?IsLastSuccessful=no HTTP/1.1" 503 298"
そのため、docker コンテナーに出力されたログにアクセスして、その 503 を診断する必要があります。
構成セクションで次の行を使用してログを有効にしましたappengine-maven-plugin
(IDE 内でうまく機能します)。
<gcloud_app_enable_mvm_logs>true</gcloud_app_enable_mvm_logs>
次に、docker コンテナーからログにアクセスしようとしました。
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
76369bc9b773 heimdall-dev.default.1:latest "/home/vmagent/jetty 5 seconds ago Up 4 seconds 0.0.0.0:49174->8080/tcp google.appengine.heimdall-dev.default.1.0.2014-11-13T210256.776274Z
➜ ~ docker logs 76369bc9b773
Info: Limiting Java heap size to: 1456M
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=64M; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=166M; support was removed in 8.0
2014-11-13 21:02:59.384:INFO::main: Logging initialized @372ms
2014-11-13 21:02:59.487:INFO::main: Redirecting stderr/stdout to /var/log/app_engine/STDERR.2014_11_13.log//var/log/app_engine/STDOUT.2014_11_13.log
そのため、ログ ファイルが "魔法のように"/var
ローカル マシンのローカル フォルダー (つまり、docker コンテナーの外) にマップされることを期待していましたが、そうではないようです:
➜ ~ tail -f /var/log/app_engine/STDERR.2014_11_13.log
tail: /var/log/app_engine/STDERR.2014_11_13.log: No such file or directory
➜ ~ tail -f /var/log/app_engine/STDOUT.2014_11_13.log
tail: /var/log/app_engine/STDOUT.2014_11_13.log: No such file or directory
そうするのは正しい方法ですか?はいの場合、何が欠けていますか? そうでなければ、ログにアクセスする正しい方法は何ですか?
PS: docker コンテナーへの ssh 接続も試みましたdocker attach 76369bc9b773
が、一貫してエラーが返されました。
PS2:私のアプリは Java 8 上の「基本的な」Spring MVC+Security+Social+DataJPA であるため、IDE+GAE Dev Server では発生しない Bean の初期化にグリッチがあると思います。
PS3:ここのチュートリアルに従いました: https://github.com/GoogleCloudPlatform/appengine-java-vm-guestbook-extrasで、ステージ 3 を適切に実行することができました。mvn appengine:gcloud_app_run
PS4: Spring MVC を使用しているため、アプリを IDE で実行するには、独自の/_ah/start
エンドポイントを実装する必要がありました ( Google App Engine Localhost Backend ErrorおよびNo mapping found using Spring3 MVC + Maven2 on GAEから着想を得ました)。それが正しいことかどうか
PS5:ポート 8000 で実行されている管理コンソールを確認しましたが、そこにあるログはシェルのものとまったく同じです (つまり、HTTP 503 メッセージ以外はほとんどありません)。