Download PDF
Download page .NET Agent for Linux のアップグレード.
.NET Agent for Linux のアップグレード
このページでは、Docker などの VM や Linux を実行しているハードウェアで、.NET Agent for Linux をアップグレードする方法について説明します。
.NET Agent for Linux をアップグレードすると、エージェントファイルが更新され、レガシー設定が維持されます。
.NET Agent for Linux 21.5
.NET Agent for Linux 21.5 では、アーキテクチャが大幅に変更され、.NET Agent for Windows に比べ Linux エージェントで欠落している機能の開発が加速されています。
これらのアーキテクチャの変更は、.NET Agent for Windows(MSI およびマイクロサービス)には影響しません。
通常、.NET Agent for Linux 21.5 は、.NET Agent for Linux 21.5 より前の既存の機能との間でパリティが維持されています。ただし、アーキテクチャの更新により、.NET Agent for Linux 21.5 以降とそれより前のバージョンとの間に違いが発生します。詳細な説明については、.NET エージェント 21.5 リリースノートを参照してください。
.NET Agent for Linux 21.5 にアップグレードする前に、次の表の差異を確認してください。
差異 | .NET Agent for Linux 21.5 以降 | .NET Agent for Linux 21.5 より前 |
---|---|---|
ビルド済みの Docker イメージ | バージョン 21.5 以降の .NET エージェント Docker イメージには OS レイヤがありません。 そのため、Kubernetes の initContainer の共有ボリュームからエージェントバイナリをコピーできます。Kubernetes の initContainer にはベース OS は必要ありません。 | バージョン 21.5 より前の .NET エージェント Docker イメージには、OS レイヤがあります。 |
HTTP URL バックエンド(デフォルトの命名) | .NET エージェントでは、命名に http://host:port を含んだ完全な URL が使用されます。 完全な URL アドレスが使用されます。 たとえば、次のアドレスへの 2 つのコールを実行するとします。
2 つのバックエンド名は次のようになります。
| .NET エージェントでは、命名に URL の URI パスが使用されます。http://host:port は除外されますが、名前として「/」プレフィックスが使用されます。 「/」が前に付いた URI パスを使用します。 たとえば、次のアドレスへの 2 つのコールを実行するとします。
2 つのバックエンド名は次のようになります。
|
HTTP URL バックエンド(カスタム命名) | .NET エージェントでは、命名に http://host:port を含んだ完全な URL が使用されます。 URL アドレスを「/」で分割すると、http://host:port は以下の最初の 3 つのセグメントになります。
たとえば、「/」を分割と結合デリミタとして使用して、最初の 5 つの URL セグメントで次のアドレスへの 2 つのコールを実行するとします。
結果は次のように 1 つのバックエンド名になります。
| .NET エージェントでは、命名に URL の URI パスが使用されます。http://host:port は除外されますが、名前として「/」プレフィックスが使用されます。 「/」で分割された URL アドレスでは、セグメント数は URI パスのプレフィックス「/」からカウントします。 たとえば、「/」を分割と結合デリミタとして使用して、最初の 3 つの URL セグメントで次のアドレスへの 2 つのコールを実行するとします。
結果は次のように 1 つのバックエンド名になります。
|
環境変数の機密データフィルタリング | 環境変数の機密データをフィルタ処理するには、次の手順を実行します。
| Linux エージェントで APPDYNAMICS_AGENT_MASK_ENV_VARS 環境変数を使用すると、利用可能です。 |
プロセスアイデンティティ | 使用不可 | 使用可能 |
インプロセス非同期コールチェーンセグメント数の制限 | ノードあたり 5(デフォルト) | ノードあたり 10(デフォルト) |
汎用形式の POCO 定義は、既存の汎用メソッド POCO 定義を変更するため、新しい形式を使用して再定義する必要があります。 POCO 定義と同様に、新しい形式は、カスタム出口、カスタムデータコレクタなどの同様の定義に適用されます。これは、.NET Agent for Linux でそのサポートが有効になっているためです。 | 次に、すべての .NET エージェントの 汎用 POCO ルールを定義するために使用される一般的な形式を示します。
| 次に、すべての .NET エージェントの 汎用 POCO ルールを定義するために使用される一般的な形式を示します。
|
Alpine 3.9 および 3.10 | サポート対象外 | サポート対象 |
AppDynamicsConfig.json 構成ファイルまたは APPDYNAMICS_ANALYTICS_* 環境変数による分析エージェント接続設定。 | サポート対象外 単一の環境変数 appdynamics.analytics.agent.url を使用して、http://localhost:9090/v2/sinks/bt などの完全な分析エージェント URL を指定します。 | サポートあり |
JSON 内の分析エージェント SSL 信頼設定またはエージェント固有の環境変数。 | サポート対象外 分析サーバが使用する証明書がオペレーティングシステムによって信頼されている場合、SSL 接続は機能します。回避策として、 これは、すべての接続の SSL 構成を上書きするグローバル設定です。 | 次の環境変数がサポートされます。
|
APPDYNAMICS_CONTROLLER_SSL_CERTFILE を含む単一ファイルでの複数の Base-64 エンコード証明書(PEM)の使用。 | 次の制限事項が適用されます。
| サポートあり |
要件
- はじめに、環境に影響を与える変更点についてリリース ノートを確認してください。
Splunk AppDynamics は、シングルテナント コントローラ アカウントへのエージェント接続にアカウントアクセスキーを要求します。4.1 より前の Splunk AppDynamics は、マルチテナント コントローラ アカウントのアカウントアクセスキーのみを要求します。
シングルテナント コントローラのお客様は、[Settings] > [License] > [Account] をクリックするとコントローラにアカウントのアクセスキーが表示されます。
ライセンス表示レベルのアカウント権限を持つロールのメンバーである必要があります。カスタムロールの管理 を参照してください。
バイナリの概要
エージェントバイナリをダウンロードしたら、zip ファイルから目的のフォルダに展開する必要があります。
フォルダには次のファイルが必要です。
AppDynamics.Agent.netstandard.dll
libappdprofiler.so
libappdprofiler_glibc.so
libappdprofiler_musl.so
.NET Agent for Linux のアップグレード
.NET Agent for Linux インストールパッケージを一時ディレクトリに解凍します。
既存のエージェントバイナリを最新のバージョンに置き換えます。置き換えるファイルは次のとおりです。
AppDynamics.Agent.netstandard.dll
次のファイルを同じディレクトリにコピーします。
アプリケーションを再起動するか、または再構築し、新しいバージョンのエージェントバイナリを使用してコンテナイメージを実行します。
NET Agent for Linux のアップグレード(21.5.0 より後のバージョン用の Init コンテナを使用)
バージョン 21.5.0 以降の .NET Core エージェントイメージには、OS レイヤがありません。古いイメージで使用される cp
コマンドは機能しないため、導入仕様を更新する必要があります。
導入仕様を更新する場合は、「導入仕様への Init コンテナの追加」を参照してください。
.Net Agent for Linux のアップグレード(21.5.0 より後のバージョン用のビルド済みエージェントイメージを含む DockerFile を使用)
バージョン 21.5.0 以降の .NET Core エージェントイメージには、OS レイヤがありません。
エージェントのダイナミックリンク ライブラリ(DLL)をコピーする場合は、次のサンプル Docker ファイルを参照してください。
FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
WORKDIR /app
# Copy csproj and restore as distinct layers
COPY *.csproj ./
RUN dotnet restore
# Copy everything else and build
COPY . ./
RUN dotnet publish -c Release -o out
# Cisco Appdynamics dotnet core agent image (same image can be used for Debian and Alpine distributions)
FROM appdynamics/dotnet-core-agent:21.5.1 AS agent
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
COPY --from=agent /opt/appdynamics /opt/appdynamics
# Mandatory settings required to attach the agent to the .NET application
ENV CORECLR_PROFILER={57e1aa68-2229-41aa-9931-a6e93bbc64d8}
ENV CORECLR_ENABLE_PROFILING=1
ENV CORECLR_PROFILER_PATH=/opt/appdynamics/libappdprofiler.so
# Configure connection to the controller
ENV APPDYNAMICS_CONTROLLER_HOST_NAME=<<Controller Host>>
ENV APPDYNAMICS_CONTROLLER_PORT=80
ENV APPDYNAMICS_CONTROLLER_SSL_ENABLED=false
ENV APPDYNAMICS_AGENT_ACCOUNT_NAME=<<Account name>>
ENV APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY=<<Access Key>>
ENV APPDYNAMICS_PREVIEW_FEATURE_ENABLED=true
# Configure application identity in AppDynamics
ENV APPDYNAMICS_AGENT_APPLICATION_NAME="Test application"
ENV APPDYNAMICS_AGENT_TIER_NAME="Test Tier"
ENV APPDYNAMICS_AGENT_REUSE_NODE_NAME=true
ENV APPDYNAMICS_AGENT_REUSE_NODE_NAME_PREFIX="Instance"
EXPOSE 80
ENTRYPOINT ["dotnet", "Sample.dll"]