Azure のコンテナアプリで.NET のトレースを設定する

Azure Container Apps上で実行される.NET Core アプリケーションのトレース機能を有効にするには、アプリケーション内で Instana トレースSDKを設定し、 Instana サーバーレスエージェントを使用して Instana に接続します。

Instana が.NET アプリケーションを監視する方法の概要については、 「.NET の監視機能の仕組み」 を参照してください。

準備

Azure Container Apps上の.NET Core アプリケーションでトレースを有効にする前に、以下の前提条件が満たされていることを確認してください:

  • Instana の有効なアカウントをお持ちで、 Instana のUIにアクセスできる状態です。
  • お客様は、 Azure のコンテナアプリが利用可能な Azure のサブスクリプションをお持ちです。
  • お使いの.NET のバージョンおよび実行環境との互換性を確認するため、 サポート情報を確認してください。

.NET のトレース機能を有効にする

Azure Container App Service でホストされている .NET Core アプリケーションでトレースを有効にするには、以下の手順を実行してください:

手順 1: ` Instana ` トレースパッケージを追加する

以下のパッケージをインストールして、 Instana トレースSDKをアプリケーションに組み込んでください:

これらのパッケージはトレースロジックを追加し、実行時の計測機能を有効にします。

ステップ 2: Dockerfile を更新する

Dockerfile内で.NET Core のトレース環境変数を設定します:

# set .NET Core tracing environment variables
ENV CORECLR_ENABLE_PROFILING="1"
ENV CORECLR_PROFILER="{cf0d821e-299b-5307-a3d8-b283c03916dd}"
ENV CORECLR_PROFILER_PATH="/app/instana_tracing/CoreProfiler.so"
ENV DOTNET_STARTUP_HOOKS="/app/Instana.Tracing.Core.dll"

ステップ 3: 「 Azure 」コンテナ アプリの作成とデプロイ

  1. Go Azure ポータルへ。
  2. 「コンテナアプリ」 を検索し、 「コンテナアプリ」 を選択します。
  3. リソースグループが存在しない場合は、作成してください:
    1. コンテナアプリ 」ページで、 「作成」 をクリックします。
    2. リソースグループを選択し、 「新規作成」 をクリックします。
    3. myResourceGroup名前(例:)を入力し、 地域を選択してから、 「OK」 をクリックします。
  4. コンテナアプリ環境を作成する:
    1. [ 基本設定] タブで、 [サブスクリプション] と、先ほど作成したリソースグループを選択します。
    2. myDotnetAppコンテナアプリ名を入力してください(例:)。
    3. 地域 」を選択し、 「次へ:環境」 をクリックします。
    4. myContainerAppEnv環境 」で 「新規作成 」をクリックし、 環境名を入力します(例:)。
    5. 地域Log Analyticsワークスペースを選択してください。
    6. 「確認して作成」 をクリックし、次に「 作成」 をクリックします。
  5. .NET Core アプリケーションのデプロイ:
    1. Azure ポータルで、 AzureContainer Registry (ACR) にアクセスし、まだ作成されていない場合は新しいレジストリを作成してください。
    2. mycontainerregistry.azurecr.io/my-dotnet-app:v1Docker のイメージをACRにプッシュしてください(例:)。 Docker を使用して、.NET Core アプリケーションがコンテナ化されていることを確認してください。
    3. Azure のコンテナアプリ」 で、 「コンテナアプリの作成」 をクリックします。
    4. 作成したリソースグループとコンテナアプリ環境を選択します。
    5. コンテナ設定」 で、 「 Docker Hub 」または「 Azure 」 を選択し、 Container Registry からイメージ名を指定します。
    6. 80コンテナのポートを設定します(例:)。
    7. 「Ingress」 を有効にし、 「外部アクセス」 を選択します。
    8. 「確認して作成」 をクリックし、次に「 作成」 をクリックします。

ステップ 4: 「 Instana 」サーバーレスエージェントの設定を行う

  1. https://sesandbox-instana.instana.ioInstana アカウントにログインしてください(例:)。
  2. Instana のエンドポイント URL および Instana のエージェントキーを取得します:
    1. Instana のUIにあるナビゲーションメニューから、 「その他 > 「エージェント 」>「エージェントのインストール」 を選択します。
    2. 「 Azure 」コンテナアプリを選択します。
    3. Instana のエンドポイント URL およびエージェントキー をコピーしてください。
  3. Azure ポータルで環境変数を設定します:
    1. Go 「 Azure 」のコンテナアプリ(Azure ポータル内)へ。
    2. コンテナアプリを選択してください。
    3. 「設定 」>「 環境変数」 をクリックします。
    4. 以下の環境変数を追加します。
      CORECLR_ENABLE_PROFILING = 1
      CORECLR_PROFILER = {cf0d821e-299b-5307-a3d8-b283c03916dd}
      CORECLR_PROFILER_PATH = /app/instana_tracing/CoreProfiler.so
      DOTNET_STARTUP_HOOKS = /app/Instana.Tracing.Core.dll
      INSTANA_ENDPOINT_URL = instana_endpoint_url
      AZURE_SUBSCRIPTION_ID = your_azure_subscription_id
      AZURE_RESOURCE_GROUP = your_azure_resource_group
      INSTANA_SERVICE_NAME = your_service_name
      INSTANA_AGENT_KEY = your_instana_agent_key
      dotnetcore-webapp注: INSTANA_SERVICE_NAME は監視対象のサービス名です。例:
    5. 変更を保存します。

ステップ5:設定の確認

Instana UI のナビゲーションメニューから、 「Applications 」> 「Services」 に移動し、収集されたメトリクスとトレースを表示します。