Azure App Service Node.js
「 Instana 」を使用して、 Azure App Service として実行されている「 Node.js 」アプリケーションを監視するには、「 Node.js 」 Azure App Service Collector をインストールして有効化してください。
対応するプラットフォーム
Instana Linux プラットフォーム上でのみ、 Azure および App Service の監視に対応しています。
前提条件
Microsoft Azure App Services のメトリクスやインフラストラクチャの相関関係を含む包括的な監視が必要な場合は、 Azure Cloud Serviceエージェントをインストールしてください。
Azure のCLIを使用してコレクターを有効にする
Node.js Azure App Service コレクターを Azure CLI で有効にするには、Node.js Azure App Service インプロセスコレクタを Node.js アプリケーションで設定する必要があります。
コレクターの取り付け
プロジェクトの依存関係に @instana/azure-container-servicesInstana コレクターパッケージを追加してください:
npm install --save @instana/azure-container-services@latest
トレースの有効化
Azure のCLIを使用してコレクターを有効にするには、以下のコマンドを実行します。 アプリケーションで CommonJS, を使用している場合は、 CommonJS セクションの手順に従ってトレースを有効にしてください。 アプリケーションでECMAScriptモジュールを使用している場合は、次の「ECMAScriptモジュール」セクションの手順に従ってトレースを有効にしてください。 Instana の環境変数に関する詳細については、 「環境変数 」のセクションを参照してください。
CommonJS
アプリケーションがCommonJS,を使用している場合は、以下のコマンドを使用する:
az webapp config appsettings set \
--name <app-name> \
--resource-group <resource-group-name> \
--settings NODE_OPTIONS='--require /path/to/instana/node_modules/@instana/azure-container-services' \
INSTANA_ENDPOINT_URL=<instana-endpoint-url> INSTANA_AGENT_KEY=<instana-agent-key>
次の例は、node_modulesへの典型的なパスを示している:./node_modules/@instana/azure-container-services.
ECMAScriptモジュール
アプリケーションでECMAScriptモジュールを使用している場合は、次のコマンドを実行してください( Node.js のバージョンが 18.19 以上である場合):
az webapp config appsettings set \
--name <your-app-name> \
--resource-group <your-resource-group-name> \
--settings NODE_OPTIONS='--import /path/to/instana/node_modules/@instana/azure-container-services/esm-register.mjs' \
INSTANA_ENDPOINT_URL=<instana-endpoint-url> INSTANA_AGENT_KEY=<instana-agent-key>
次の例は、node_modulesへの典型的なパスを示している:./node_modules/@instana/azure-container-services/esm-register.mjs.
- Node.js のバージョンが v18.19.0 より古い場合は、の代わりに
--experimental-loader /path/to/instana/node_modules/@instana/azure-container-services/esm-loader.mjsを使用する必要があります--import /path/to/instana/node_modules/@instana/azure-container-services/esm-register.mjs。 - 現在のバージョンでは、`with
--experimental-loader` の使用はサポートesm-loader.mjsされておらず、次回のアップグレードで削除される予定です。 詳細については、 「互換性のない変更 」のセクションを参照してください。
Azure のCLIを使用せずにコレクターを有効にする
Node.js App Service でコレクタを有効にするには、Manual installation セクションの指示に従うか、Docker を使用している場合は、Docker installation セクションの指示を参照してください。
手動インストール
Node.js Azure App Service Collector を設定するには、Node.js Azure App Service In-process Collector をインストールし、トレースを有効にする必要があります。
コレクターの取り付け
プロジェクトの依存関係に @instana/azure-container-servicesInstana コレクターパッケージを追加してください:
npm install --save @instana/azure-container-services@latest
トレースの有効化
アプリケーションで CommonJS, を使用している場合は、 CommonJS セクションの手順に従ってトレースを有効にしてください。 アプリケーションでECMAScriptモジュールを使用している場合は、次の「ECMAScriptモジュール」セクションの手順に従ってトレースを有効にしてください。
CommonJS
CommonJS, を使用するアプリケーションの場合、Node.js 実行ファイルを起動するときに、次のいずれかの手順を実行します。 NODE_OPTIONS または --require フラグを設定すると、アプリケーションコードの前に Node.js コレクターがロードされ、初期化されます。
Node.jsの起動プロセスを開始する前に、
NODE_OPTIONS変数を設定します:NODE_OPTIONS="--require /path/to/instana/node_modules/@instana/azure-container-services"あるいは、 Node.js を起動するコマンドに
--requireパラメータを追加してください。普段 nodeapp/index.jsコマンドを使用してアプリケーションを起動している場合は、コマンドライン--require引数を1つ追加してください。 以下の例を参照してください。node --require /path/to/instana/node_modules/@instana/azure-container-services app/index.js
ECMAScriptモジュール
アプリケーションでECMAScriptモジュールを使用している場合は、 Node.js の実行ファイルを開始する際に、以下のいずれかの手順を実行してください。 この --import 引数を設定 NODE_OPTIONS または使用すると、アプリケーションコードの実行前に Node.js コレクタが初期化されます。 ECMAScriptモジュールに関する詳細については、 Node.js の公式ドキュメントを参照してください。
Node.js のアクティベーションプロセスを開始する前に、変数( Node.js、 18.19
NODE_OPTIONS以降)を設定してください:NODE_OPTIONS="--import=/path/to/instana/node_modules/@instana/azure-container-services/esm-register.mjs"あるいは、 Node.js アプリケーションを起動する際に、この
--importパラメータを指定してください。 アプリケーションを コマンドnode app/index.mjsで起動する場合は、コマンドライン引数に コマンド--importを追加してください。 以下の例を参照してください。node --import /path/to/instana/node_modules/@instana/azure-container-services/esm-register.mjs app/index.mjs
Dockerのインストール
Docker でアプリケーションをビルドしている場合は、@instana/azure-container-services パッケージを手動でインストールする必要はありません。 このパッケージは Docker イメージに含まれており、icr.io/instana/azure-container-services-nodejs イメージレジストリで入手できます。
Instana 現在、この x86_64 アーキテクチャのみをサポートしています。
トレースの有効化
アプリケーションで CommonJS, を使用している場合は、 CommonJS セクションの手順に従ってトレースを有効にしてください。 アプリケーションでECMAScriptモジュールを使用している場合は、次の「ECMAScriptモジュール」セクションの手順に従ってトレースを有効にしてください。
CommonJS
アプリケーションをビルドする場合Docker、Dockerfileの最後の行の後に次の行を追加します。FROM句:
COPY --from=icr.io/instana/azure-container-services-nodejs:includes/regular/../../../../../../../conrefs.html#conrefs__keyword.tracer_nodejs_version /instana /instana
ENV NODE_OPTIONS="--require /instana/node_modules/@instana/azure-container-services"
次に、コンテナーをビルドし、選択したイメージ・リポジトリーにプッシュします。
ECMAScript モジュール
Dockerfile の最後の FROM `clause` の後に、以下の行を追加してください( Node.js、 18.19 以降):
COPY --from=icr.io/instana/azure-container-services-nodejs:includes/regular/../../../../../../../conrefs.html#conrefs__keyword.tracer_nodejs_version /instana /instana
ENV NODE_OPTIONS="--import=/instana/node_modules/@instana/azure-container-services/esm-register.mjs"
次に、コンテナーをビルドし、選択したイメージ・リポジトリーにプッシュします。
Azure ポータルでの環境変数の設定
環境変数を設定する前に、Node.js Azure App Service Collector を Azure App Service に設定し、Azure 環境にアプリをデプロイしていることを確認してください。 Azure ポータルで必要な Instana 環境変数を設定するには、以下の手順を実行してください:
Instana がトレースを行う必要がある Azure ( App Service )を開きます。

構成ページで、 「アプリケーション設定」をクリックします。 次に、環境変数セクションで説明したように、環境変数を追加します。

変更を保存し、アプリケーションを再始動します。

環境変数
Node.js Azure App Service コレクターを設定するには、以下の環境変数を設定します:
INSTANA_ENDPOINT_URL: サーバーレス監視のエンドポイント。 該当するリージョン用の、https://serverless-で始まる適切な値を使用していることを確認してください。INSTANA_AGENT_KEY: エージェント・キー。
これらの変数は Azure CLI または Azure ポータルで設定できます。