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.js
ENTRYPOINT ['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.