このドキュメントでは、アプリケーション コードを変更することなく、Azure でホストされる Python アプリケーションへのNew Relicインテグレーションに関するソリューションを提供します。 この機能には 2 つのインスタンスがサポートされています。
コンテナ化されたイメージを使用した App Services のNew Relicインテグレーションのサポートは利用できません。
互換性と要件
始める前に、次のことをお勧めします。
- デプロイ済みのコンテナアプリまたはApp Serviceから開始する
- Azure ポータルを使用しない場合は、環境にAzure CLI をインストールします。
情報
Python エージェントは、統合がなければAzure Functionsのテレメトリーをキャプチャしないことに注意してください。 に関するデータを収集したい場合は 、Azure Functions 監視統合Azure Functions をインストールすることをお勧めします。
Pythonエージェントをコンテナアプリに統合する
場合によっては、 Azure コンテナー アプリを通じて管理されるアプリには、ユーザーが変更できないイメージが既に含まれていることがあります (または、ユーザーが単にアプリの変更を望まない場合もあります)。 これにより、コンテナ化されたイメージを構築するコードを変更することなく、New Relic を環境に統合できるようになります。
これは、Azure Portal または Azure CLI を通じて実行できます。
Python エージェントを Azure App Service に統合する
現在、App Services はサイドカーのみをサポートしており、init コンテナーはサポートしていません。 そのサポートが利用可能になるまで、このプレビルド スクリプトを使用できます。 注: これはコードを使用する App Services でのみ機能し、コンテナー化されたイメージでは機能しません。
これは、Azure Portal または Azure CLI を通じて実行できます。
$#!/bin/sh$# prebuild.sh$
$# Retrieve files to use in startup script:$curl -L https://raw.githubusercontent.com/newrelic/newrelic-agent-init-container/refs/heads/main/src/python/newrelic_k8s_operator.py > newrelic_k8s_operator.py$curl -L https://raw.githubusercontent.com/newrelic/newrelic-agent-init-container/refs/heads/main/src/python/requirements-vendor.txt > requirements-vendor.txt$curl -L https://raw.githubusercontent.com/newrelic/newrelic-agent-init-container/refs/heads/main/src/python/requirements-builder.txt > requirements-builder.txt$
$cd /home/$
$pip install -r requirements-builder.txt$
$export NEW_RELIC_EXTENSIONS=false$export WRAPT_DISABLE_EXTENSIONS=true$
$pip install newrelic --target=./workspace/newrelic$
$mkdir -p ./workspace/vendor$pip install --target=./workspace/vendor -r requirements-vendor.txt$
$cp ./workspace/* /home/$cp /home/workspace/newrelic/newrelic/bootstrap/sitecustomize.py /home/sitecustomize.py$
$cd /home/site/wwwroot$
$# This is the where the application's original startup script goes:$gunicorn app:app
トラブルシューティング
場合によっては、テレメトリーが利用できない場合や、 prebuild.sh
スクリプトが原因で既存のアプリケーションの再デプロイメントが失敗する場合があります。 これを解決するには、次の環境変数を有効にします。
SCM_DO_BUILD_DURING_DEVELOPMENT
:True
ENABLE_ORYX_BUILD
:True