Docker コンテナでの.NET トレースの設定

あらかじめ設定済みの Instana ベースイメージを使用するか、手動で設定を行うことで、 Docker コンテナ内で実行されるアプリケーションに対して.NET トレースを設定します。

重要:Instana .NET のベースイメージは、.NET Core Tracer 1.319.7 以降から入手可能です。 これらのイメージには、あらかじめ設定済みのトレース環境が用意されており、コンテナ化された.NET アプリケーションの手動設定が不要になります。

.NET の監視機能の詳細については、 「.NET の監視機能の仕組み」を参照してください。

セットアップ方法の選択

Docker では、要件に応じて以下のいずれかの方法を使用して、.NET のトレースを設定できます

  • Instana .NET のベースイメージの使用: Instana トレースエージェントが組み込まれた、事前設定済みの Docker イメージを使用します。 このアプローチにより、手動での設定が不要になり、トレースの設定が簡素化されます。 .NET Core の「Tracer 1.319.7 」以降で利用可能です。 詳細については、 「 Instana ベースイメージを使用した Docker での.NET トレースの設定」 を参照してください。
  • NuGet パッケージの使用とDockerfileの設定 (手動設定): NuGet パッケージをインストールし、Dockerfile内で環境変数を設定してください。 カスタム設定が必要な場合や、 1.319.7 より以前のバージョンの.NET Core Tracer を使用している場合は、この方法をご利用ください。

Docker での .NET トレースの手動設定

Docker コンテナで実行されているアプリケーションで.NET のトレースを有効にするには、以下の手順を実行してください

前提条件

コンテナで.NET トレースを有効にする前に、以下の前提条件が満たされていることを確認してください:

  • Instana エージェントがインストールされ、実行されており、 Docker コンテナからアクセス可能です。 「 Docker への Instana エージェントのインストール 」を参照してください。
  • Docker コンテナと Instana エージェント間のネットワーク接続を確認してください。 コンテナは、エージェントのホストとポートにアクセスできる必要があります。
  • サポート情報を確認してください。

NuGet パッケージのインストールと環境変数の設定

コンテナ内で実行されるアプリケーションやサービスについては、以下の手順を実行してください:

  1. .NET アプリケーションに、以下の NuGet パッケージをインストールしてください:

    パッケージが NuGet.org を通じて配布されている場合、アプリケーションを再コンパイルすることなくインストールできます。 以下の方法の 1 つを使用します。

    • nuget.exe 利用可能:計測対象のプロジェクトをコンパイルせずに、を使用して nuget.exe パッケージを復元します。
    • nuget.exe 利用不可:パッケージを直接ダウンロードし、解凍した後、次の手順に従って、解凍されたファイルが格納されている場所を指定するように環境変数を設定してください。
    注: このパッケージをプロジェクトに追加するか、公開前に追加することができます。
  2. Dockerfile を設定する:Dockerfile に必要な環境変数を追加してください。 次の例は、必要な環境変数が設定された Dockerfile を示しています:

    ### your docker-image and application-build/-publish here
    
    # set CoreCLR tracing environment variables
    ENV DOTNET_STARTUP_HOOKS=/app/Instana.Tracing.Core.dll
    ENV CORECLR_ENABLE_PROFILING=1
    ENV CORECLR_PROFILER={cf0d821e-299b-5307-a3d8-b283c03916dd}
    ENV CORECLR_PROFILER_PATH=/app/instana_tracing/CoreProfiler.so
    
    # provide agent-endpoint
    ENV INSTANA_AGENT_HOST=host_or_other_container_name_or_ip
    ENV INSTANA_AGENT_PORT=42699
    ENTRYPOINT ["dotnet", "YourApp.dll","some","parameters"]

    以下の値を置き換えます。

    • host_or_other_container_name_or_ip: Instana エージェントが実行されているホスト名、コンテナ名、またはIPアドレス。
    • 42699: Instana エージェントがリスニングを行うポート。
    • YourApp.dll: アプリケーションのDLLの名前。
    • some,parameters: アプリケーションで必要なその他のパラメータ。
  3. コンテナをビルドして実行します。

アプリケーションには計測機能が実装されており、 Instana エージェントが自動的にトレースデータを収集し、 Instana のUIに表示します。

トレースが正常に機能しているかを確認するには、 Instana ダッシュボードにログインしてください。 痕跡が現れてくるのがわかります。

セットアップを簡略化したい場合は、代わりに Instana のベースイメージを使用してください。 Instana のベースイメージを参照してください。