当社の Node.js エージェントを使用して、Docker コンテナにデプロイされた Node.js アプリケーションをインストルメントすることができます。このドキュメントでは、New Relic でインストルメントされた Docker 化された Node.js アプリケーションを構築、設定、デプロイする方法を説明します。
コンテナの計測
既存のDockerfileを少し追加するだけで、弊社のNode.jsエージェントで使用することができます。環境変数を設定した新しいDockerイメージを実行して、エージェントを設定します。
newrelic
をpackage.json
に追加します。"newrelic": "latest",特定のバージョンをインストールするか、
package.json
形式で提供されるその他のオプションを使用してください。過去のエージェント バージョンについては、Node.js エージェントのリリース ノートを確認してください。コンテナの設定方法に応じて、
node -r newrelic YOUR_PROGRAM.js
を実行して、最初に Node.js-r
/--require
フラグを使用してnewrelic
モジュールを含めるようにENTRYPOINT
を編集できます。プログラムの実行方法を制御できない場合は、require('newrelic')
を追加することで、プログラム内の他のモジュールよりも前にnewrelic
モジュールをロードできます。Next.js の場合は、
newrelic
の代わりに@newrelic/next
を使用します。ヒント
npm start
などのプログラムを実行するための npm スクリプトがある場合は、npm pkg set scripts.start="node -r newrelic your-program.js"
を実行することでこのスクリプトをプログラムで変更できます。通常の方法で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
このドキュメントはインストールの役に立ちましたか?
その他の設定オプション
注意
Dockerfile または Docker イメージにライセンス キーを含めないでください。詳細については、ライセンス キーのセキュリティに関するドキュメントを参照してください。
アプリケーション名またはライセンス キーの設定に加えて、 -e
オプションを使用してコンテナを開始することにより、他の構成オプションを設定できます。たとえば、 分散トレースを有効にするには、次を使用します。
$docker run -e NEW_RELIC_LICENSE_KEY=YOUR_LICENSE_KEY \> -e NEW_RELIC_APP_NAME="YOUR_APP_NAME" \> -e NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true \> YOUR_IMAGE_NAME:latest
ENV
ディレクティブを使用して、Dockerfile で構成オプションを設定することもできます。
ENV NEW_RELIC_DISTRIBUTED_TRACING_ENABLED=true \ NEW_RELIC_LOG=stdout # etc.