Pythonエージェントを使用すると、 Google App Engine(GAE)の柔軟な環境に存在するアプリケーションを監視できます。 GAE flexアプリにエージェントデータを追加すると、アプリの状態とパフォーマンスに関する洞察が得られ、NewRelicUIで表示できるメトリックでGAEが拡張されます。
本ドキュメントでは、これらのいずれかの方法を用いてGAE flexアプリにエージェントデータを追加する方法を説明します。
- Google App Engineの " ネイティブモード" 標準的なGAEランタイムでのインストール
- カスタムランタイムを使用したDockerインストール
GAEのネイティブサポートによるデプロイ
Google App Engine の「ネイティブモード」インストールを使用する場合は、アプリコードとapp.yaml
ファイルを提供します。次に、GoogleAppEngineは標準のビルド済みDockerイメージにデプロイされます。
例えば、Flask/Djangoアプリをネイティブサポートしてデプロイする場合などです。
- 標準の手順に従って、 を含むPython エージェントをインストールします。
NEW_RELIC_CONFIG_FILE
をnewrelic.ini
を指す環境変数として設定します。
エージェントと設定ファイルがインストールされると、Python エージェントは GAE フレックス環境に存在するアプリケーションを自動的に監視できるようになります。デプロイメントが完了するまで待ってから、 APM Summary ページ で GAE flex アプリのデータを確認してください。
Dockerでカスタムランタイムを構築
カスタムランタイムの構築については、 Googleのドキュメントを参照してください 。この例では、Docker のカスタムランタイムを構築して GAE flex アプリにエージェントデータを追加する方法を説明します。
GAEフレキシブル環境でのNode.jsアプリのデプロイと設定については、以下を参照してください。
- Our GAE flex examples on Github for Python
- Google App Engineのドキュメント for Python
- Google App Engineのチュートリアル Pythonアプリのデプロイ方法
おすすめです。ヘルスチェックの無効化
Google App Engineは定期的にヘルスチェックリクエストを送信して、インスタンスが正常にデプロイされたことを確認し、実行中のインスタンスが正常なステータスを維持していることを確認します。ヘルスチェックは、URL /_ah/health
へのHTTPリクエストです。
カスタムランタイムを作成する場合は、アプリが大量のヘルスチェックリクエストを処理できなければなりません。そうしないと、アプリのデータがAPMで正しく表示されない可能性があります。
推奨事項: 次のコードを追加して、 ヘルスチェックを無効にするようにapp.yaml
を構成します。
health_check: enable_health_check: False
GAEからエージェントのトラブルシューティングログを取得
GAE flex環境アプリのトラブルシューティングには、これらのリソースをご利用ください。
GAE インスタンスに接続して、コードを実行している Docker コンテナでシェルを起動するには、 Debugging an instance を参照してください。
PythonエージェントログをCloudPlatformConsoleのStackdriverにリダイレクトするには、次のステートメントを
newrelic.ini
構成に追加します。log_file = stderrログを表示するには、 Cloud Platform ConsoleのLog Viewer を使用します。