Node.js エージェントを使用して、Docker コンテナーで Node.js アプリケーションのデプロイを計装できます。 このドキュメントでは、 New Relicでインストレーションした Dockerized Node.js アプリケーションを構築、構成、デプロイする方法について説明します。
Node.js エージェント インストレーションに関する一般的なヘルプが必要な場合は、メイン インストレーション手順を参照してください。
コンテナの計測
注意
Dockerfile または Docker イメージにライセンス キーを含めないでください。詳細については、ライセンス キーのセキュリティに関するドキュメントを参照してください。
設定をいくつか変更し、 New Relic環境変数を既存の Dockerfile に追加することで、Node.js エージェントを使用して Docker 化されたアプリを計装できます。
newrelicをpackage.jsonに追加します。"newrelic": "latest",値
latest更新して特定のバージョンをインストールするか、package.json形式で提供される他のオプションのいずれかを使用できます。 過去のエージェント バージョンに関する情報については、 Node.js エージェントのリリース ノートを確認してください。node開始コマンドにエージェントを挿入して、アプリケーションを計装します。 コンテナの設定によっては、node コマンドが呼び出されたときに、Node.js-r/--requireフラグを使用してnewrelicモジュールを最初に含めるようにENTRYPOINT編集できる場合があります。 Dockerfile にこれらの開始コマンドのいずれかが含まれている場合は、次のように変更できます。node YOUR_PROGRAM.jsをに変更しますnode -r newrelic YOUR_PROGRAM.jsENTRYPOINT ['node', 'YOUR_PROGRAM.js']をに変更しますENTRYPOINT ['node', '-r', 'newrelic', 'YOUR_PROGRAM.js']CMD ['node', 'YOUR_PROGRAM.js']をに変更しますCMD ['node', '-r', 'newrelic', 'YOUR_PROGRAM.js']npm startなどのプログラムを実行するための npm スクリプトがある場合は、npm pkg set scripts.start="node -r newrelic your-program.js"を実行することでこのスクリプトをプログラムで変更できます。- プログラムの実行方法を制御できない場合は、エントリ ファイルの先頭に
require('newrelic')を追加することで、プログラム内の他のモジュールの前にnewrelicモジュールをロードできます。
通常の方法でDockerイメージを構築します。
エージェントを有効にしてdockerアプリを実行するには、 とアプリ名を環境変数として
docker runコマンドに追加します。bash$docker run -e NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY \>-e NEW_RELIC_APP_NAME="YOUR_APP_NAME" \>YOUR_IMAGE_NAME:latest
このドキュメントはインストールの役に立ちましたか?
その他の設定オプション
重要
Node.js エージェントがv7.2.0より古い場合は、環境変数NEW_RELIC_NO_CONFIG_FILE=trueを Dockerfile に追加して、構成ファイルなしでエージェントを実行できるようにする必要があります。構成設定と優先順位の詳細については、ここを参照してください。
Node.js エージェントがv8.3.0よりも古く、 ディストリビューティッド(分散)トレーシングを使用したい場合は、環境変数NEW_RELIC_DISTRIBUTED_TRACING_ENABLEDをtrueに設定して有効にする必要があります。
アプリケーション名やライセンスキーの設定に加えて、コンテナを-eオプションで起動することで他の設定オプションを設定できます。 以下のこともできます:
以下のスニペットのように、環境変数 (
NEW_RELIC_NAME_OF_FEATURE_FLAG_ENABLED) を使用して機能フラグを有効にします。NAME_OF_FEATURE_FLAG機能フラグの大文字の名前に置き換えます。bash$docker run -e NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY \>-e NEW_RELIC_APP_NAME="YOUR_APP_NAME" \>-e NEW_RELIC_NAME_OF_FEATURE_FLAG_ENABLED=true \>YOUR_IMAGE_NAME:latestENVディレクティブを使用して Dockerfile で構成オプションを設定します。ENV NEW_RELIC_NAME_OF_FEATURE_FLAG_ENABLED=true \NEW_RELIC_LOG=stdout# etc.