New RelicのNode.js エージェントを使用すると、 Google App Engine (GAE) フレキシブル環境にあるアプリケーションを監視できます。 GAE flex アプリにNew Relicを追加すると、アプリの健全性とパフォーマンスをインサイトで確認できるようになり、 とで表示できるメトリックによって GAE が拡張されます。
本ドキュメントでは、これらのいずれかの方法でGAE flexアプリにNew Relicを追加する方法を説明します。
- Google App Engineの " ネイティブモード" 標準的なGAEランタイムでのインストール
- カスタムランタイムを使用したDockerインストール
ネイティブデプロイの使用
Google App Engineの " ネイティブモード" のインストールをNode.jsアプリで使用するには。
標準の手順に従って、 を含むNew Relic の Node.js エージェントをインストールします。 必ず
newrelic
モジュールをpackage.json
ファイルに保存してください。Google App Engine procedures for Node.js に従って、新しい Cloud Platform プロジェクトを作成し、App Engine アプリケーションを作成し、 Google Cloud SDK のその他の前提条件を満たします。
オプション:環境変数を設定して、Node.jsエージェントのGAE
app.yaml
ファイルを構成します。Google Cloud SDKの
gcloud
コマンドラインツールを使用して、GAEアプリをデプロイします。 Node.jsアプリを初期化されたGAEフレキシブル環境にデプロイするには、次のコマンドを実行します。bash$gcloud --project new-relic-apm-nodejs app deploy
Google App Engine では、Node.js アプリのnewrelic.js
設定ファイルがデプロイ パッケージに自動的に含められます。 デプロイメントが完了するまで待ってから、 APM Summaryページで GAE flex アプリのデータを表示します。
カスタムランタイムの構築
カスタムランタイムの構築については、 Google のドキュメントを参照してください 。この例では、Docker のカスタムランタイムを構築して GAE flex アプリに New Relic を追加する方法を説明します。特別な設定をすることなく、アプリをデプロイすることができます。
GAEフレキシブル環境でのNode.jsアプリのデプロイと設定については、以下を参照してください。
- Google App Engineのドキュメント for Node.js
- Google App Engine's tutorial to deploy a Node.js app
オプションヘルスチェックの無効化
Google App Engine は定期的にヘルスチェックリクエストを送信して、インスタンスが正常にデプロイされたことを確認し、実行中のインスタンスが正常なステータスを維持していることを確認します。ヘルスチェックは、URL /_ah/health
へのHTTPリクエストです。
カスタムランタイムを作成する場合は、アプリが大量のヘルスチェックリクエストを処理できなければなりません。そうしないと、アプリのデータがAPMで正しく表示されない可能性があります。
パフォーマンスの問題に気付いた場合は、GAEヘルスチェックを無効にしてください。 app.yaml
に、次を追加します。
health_check: enable_health_check: False
GAEからNew Relicエージェントのトラブルシューティングログを取得する
GAE flex環境アプリのトラブルシューティングには、これらのリソースをご利用ください。
GAE インスタンスに接続して、コードを実行している Docker コンテナでシェルを起動するには、 Debugging an instance を参照してください。
NewRelicNode.jsエージェントログをCloudPlatformConsoleのStackdriverにリダイレクトするには、
newrelic.js
構成ファイルを次のように変更します。log_file_name: STDOUTログを表示するには、 Cloud Platform ConsoleのLog Viewer を使用します。