Google App Engine 500 内部サーバー エラーのトラブルシューティング

Google App Engine 500 内部サーバー エラーのトラブルシューティング

GAE 500 サーバー エラーを適切にトラブルシューティングする方法はありますか? console.developers.google.com -> Monitoring -> logs から確認できることはわかっていますが、あまり情報がありません。ブラウザー ネットワーク応答 500 内部サーバー エラーから取得できるものと同じものだけです。

私が探しているのは、アプリで発生したエラーや例外のスタックトレースを実際に出力する、apache.log や php.log に似たログです。

答え1

以前の回答は今では古くなっています (約 3 年後)。Google Cloud Platform ダッシュボードの [エラー報告] パネルを探してください。

コード内の問題に対するスタック トレースが取得されます (問題がコード内にある場合は、おそらく std err にエラーをログに記録する必要があると思います)。スタック トレースは、500 エラーのデバッグに役立ちます。以下は、私が受け取ったスタック トレースです...

ImportError: No module named flask_assistant

at <module> (/base/data/home/apps/f~XXXX/20180209t180735.407529010683953771/main.py:31)
at LoadObject (/base/alloc/tmpfs/dynamic_runtimes/python27/a7637d5531ec9deb_unzipped/python27_lib/versions/1/google/appengine/runtime/wsgi.py:85)
at _LoadHandler (/base/alloc/tmpfs/dynamic_runtimes/python27/a7637d5531ec9deb_unzipped/python27_lib/versions/1/google/appengine/runtime/wsgi.py:299)
at Handle (/base/alloc/tmpfs/dynamic_runtimes/python27/a7637d5531ec9deb_unzipped/python27_lib/versions/1/google/appengine/runtime/wsgi.py:240)

これが、500 エラーが発生した場合にスタック トレースを取得する方法です。

答え2

残念ながら、これには明確な答えはありません。

通常、500はGoogleサーバー内部のエラーなので、対処方法はあまりありません。私たちが提案できるのは、指数バックオフお客様のリクエストに応じて、当社のインフラストラクチャ自体が問題を「修正」できるようにします (通常は修正され、非常に迅速に修正されます)。

場合によっては、特定の動作(特定の製品に間違った形式のファイルや間違った変数タイプを送信するなど)に対して500エラーが発生することがあります。このような場合、エラーはより明確になるはずです。明確でない場合は、できるだけ多くの情報を収集して、問題追跡このエラーは「500」よりも多くの情報で表現できる可能性がある

関連情報