.NET Agent for Linux のインストール
はじめに
開始する前に、次の前提条件を確認します。
アプリケーションとライセンスの概要
次のアプリケーションとライセンスを持っていることを確認してください。
- Linux 上で実行されている.NET Core アプリケーション。
- Linux 上で実行されている .NET Core アプリケーションごとの .NET ライセンス「ライセンス使用状況の確認」を参照してください。
バイナリの概要
Splunk AppDynamicsダウンロードサイトからエージェントのバイナリをダウンロードし、zip ファイルから目的のフォルダに展開します。
アーカイブには次のファイルが含まれています。
AppDynamics.Agent.netstandard.dlllibappdprofiler_arm64.solibappdprofiler_glibc_arm64.solibappdprofiler_musl_arm64.soREADME.md
デプロイ
Dockerを使用してデプロイを開始するためのオプションは、次の2つです。
- 独自のイメージを作成し、最初からエージェントを開始する。
- 既存のイメージを実行する(.NET エージェントを有効にしている場合)。
独自のイメージを作成する
Microsoft および Dockerfile から提供された ASP.NET アプリケーションのサンプルを使用して、独自のイメージを作成し、開始します。
appdynamics/dotnet-core-agent:latest付きのマルチステージビルドを活用し、エージェントバイナリを取得します。- Dockerfileの変数を更新して、AppDynamicsでコントローラおよびアプリケーションIDへの接続を構成します。
- Dockerイメージを作成します。
次に、Dockerfileの例をコメント付きの手順とともに示します。
FROM mcr.microsoft.com/dotnet/core/samples:aspnetapp
####### Requirements
# Have the following files alongside the Dockerfile:
# * libappdprofiler_arm64.so
# * AppDynamics.Agent.netstandard.dll
####### Instructions
# Building image: docker build --rm -t appdynamicstest:latest .
# Running container: docker run --rm -p 8000:80 appdynamicstest:latest
# Open the application using http://localhost:8000/
#######
FROM appdynamics/dotnet
ADD libappdprofiler_arm64.so /opt/appdynamics-core-agent:latest AS appd
FROM mcr.microsoft.com/dotnet/
ADD libappdprofiler_glibc_arm64.sosamples:aspnetapp
COPY --from=appd /opt/appdynamics /dotnet/
ADD libappdprofiler_musl_arm64.so /opt/appdynamics/dotnet
# Mandatory settings required to attach the agent to the .NET application
ENV CORECLR_PROFILER={57e1aa68-2229-41aa-9931-a6e93bbc64d8} \
CORECLR_ENABLE_PROFILING=1 \
CORECLR_PROFILER_PATH_ARM64
CORECLR_PROFILER_PATH_ARM64=/opt/appdynamics/dotnet/libappdprofiler_arm64.so \
CORECLR_PROFILER_PATH=/opt/appdynamics/dotnet/libappdprofiler.so
# Configure connection to the controller
ENV APPDYNAMICS_CONTROLLER_HOST_NAME=controller.saas.appdynamics.com
ENV APPDYNAMICS_CONTROLLER_PORT=443
ENV APPDYNAMICS_CONTROLLER_SSL_ENABLED=true
ENV APPDYNAMICS_AGENT_ACCOUNT_NAME=account-name
ENV APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY=access-key
# Configure application identity in AppDynamics
ENV APPDYNAMICS_AGENT_APPLICATION_NAME="My Application"
ENV APPDYNAMICS_AGENT_TIER_NAME="Sample Tier"
ENV APPDYNAMICS_AGENT_NODE_NAME="MyNode"
# It is possible to configure .NET agent using AppDynamicsConfig.json configuration file instead of environment variables.
# To do so, rename AppDynamicsConfig.json.template to AppDynamicsConfig.json and update values in the file.
# ADD AppDynamicsConfig.json /opt/appdynamics/dotnet/
既存のイメージを実行する
新しいイメージを作成せずに、エージェントを有効にして既存の Docker イメージをすばやく展開するには、次の手順を実行します。
- エージェントバイナリをダウンロードします。アーカイブがターゲットの CPU アーキテクチャ(amd64 または arm64)と一致することを確認します。
- Docker コマンドの変数を更新して、AppDynamics でコントローラおよびアプリケーション アイデンティティへの接続を構成します。
-
エージェントバイナリを抽出したディレクトリから Docker コマンドを実行します。コマンドの
$(pwd)は、このディレクトリへのパスに置き換えることができます。
次の例では、アプリケーションのサンプルを実行します。ここでは、現在のディレクトリ(抽出されたエージェントアーカイブを含む)に Splunk AppDynamics バイナリがあることを前提としています。
docker run \
-p 8000:80 \
-e CORECLR_PROFILER={57e1aa68-2229-41aa-9931-a6e93bbc64d8} \
-e CORECLR_ENABLE_PROFILING=1 \
-e CORECLR_PROFILER_PATH_ARM64=/opt/appdynamics/dotnet/libappdprofiler.so \
-e CORECLR_PROFILER_PATH_ARM64=/opt/appdynamics/dotnet/libappdprofiler_arm64.so \
-e APPDYNAMICS_CONTROLLER_HOST_NAME=controller.saas.appdynamics.com \
-e APPDYNAMICS_CONTROLLER_PORT=443 \
-e APPDYNAMICS_CONTROLLER_SSL_ENABLED=true \
-e APPDYNAMICS_AGENT_ACCOUNT_NAME=account-name \
-e APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY=access-key \
-e APPDYNAMICS_AGENT_APPLICATION_NAME="My Application" \
-e APPDYNAMICS_AGENT_TIER_NAME="Sample Tier" \
-e APPDYNAMICS_AGENT_NODE_NAME="MyNode" \
-v "$(pwd)":/opt/appdynamics/dotnet/ \
mcr.microsoft.com/dotnet/core/samples:aspnetapp
このコマンドでは、エージェントファイルがボリュームとしてマウントされ、エージェントでの追加に必要な環境変数が設定されます。
起動フロー
アプリケーションの起動時に、エージェントによってメッセージがコンソールおよびアプリケーションと .NET フレームワークに書き込まれます。
この .NET エージェント起動コンソール出力は、適切なエージェントの初期化を示しています。
appd.agent.profiler(Info): ...
「.NET Agent for Linux のトラブルシューティング」を参照してください。