.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 incorporates significant architectural changes to accelerate the development of missing features in the Linux Agent relative to .NET Agent for Windows.
Generally, .NET Agent for Linux 21.5 maintains parity with existing features in .NET Agent for Linux < 21.5. However, due to architectural updates, there are differences between .NET Agent for Linux >= 21.5 and .NET Agent for Linux < 21.5. See the .NET Agent 21.5 release notes for a detailed explanation.
Before you upgrade to .NET Agent for Linux 21.5, please review the differences in this table:
| Difference | .NET Agent for Linux >= 21.5 | .NET Agent for Linux < 21.5 |
|---|---|---|
| Pre-built Docker Image |
The .NET Agent Docker image does not have an OS Layer after version 21.5. This allows copying agent binaries from shared volume for initContainer, Kubernetes. initContainer for Kubernetes does not need a base OS. |
The .NET Agent Docker image does have an OS Layer before version 21.5. |
| HTTP URL backend for: Default naming |
.NET Agent uses the full URL including http://host:port in the naming. Full URL address is used. For example, two calls to these addresses:
Results with these two backend names:
|
.NET Agent uses the URI path of the URL for the naming. It excludes http://host:port, but assumes the "/" prefix as the name. Uses the URI path prefixed with a "/". For example, two calls to these addresses:
Results with these two backend names:
|
|
HTTP URL backend for: Custom naming |
.NET Agent uses the full URL including http://host:port in the naming. The URL address split by "/" counts http://host:port as the first three segments:
For example, two calls to these addresses with first five URL segments using "/" as the split and merge delimiter:
Results with one backend name:
|
.NET Agent uses the URI path of the URL for the naming. It excludes http://host:port, but assumes the "/" prefix as the name. The URL address split by "/" counts segments starting from the prefixed "/" in the URI path. For example, two calls to these addresses with first three URL segments using "/" as the split and merge delimiter:
Results with one backend name:
|
| Sensitive data filtering for environment variables |
To filter sensitive data for environment variables:
|
Available using the APPDYNAMICS_AGENT_MASK_ENV_VARS environment variable with the Linux Agent. |
| Process identity | Not available | Available |
| In-process async call chain segments limit | 5 per node (default) | 10 per node (default) |
|
POCO definitions for the generic format changes any existing generic method POCO definitions and must be re-defined using the new format.
注: Similar to POCO definitions, the new format applies to any similar definitions for Custom Exits, Custom Data collectors, and so on because their support is enabled in the .NET Agent for Linux.
|
This shows the common format used to define generic POCO rules for all .NET Agents: Formatclass: GenericClass`2 method: GenericMethod<T1,T2>(T1,T2,T1,T2) |
This shows the common format used to define generic POCO rules for all .NET Agents: Formatclass: GenericClass`2 method: GenericMethod(!T1,!T2,!!M1,!!M2) |
| Alpine 3.9 and 3.10 | Not supported | Supported |
Analytics Agent connection configuration through the AppDynamicsConfig.json configuration file or through the APPDYNAMICS_ANALYTICS_* environment variables. |
Not supportedUse the single environment variable appdynamics.analytics.agent.url to specify the full Analytics Agent URL, such as http://localhost:9090/v2/sinks/bt . |
Supported |
| Analytics Agent SSL trust configuration in JSON or agent specific environment variables. |
Not supported The SSL connection works if the certificate used by the Analytics Server is trusted by the operating system. As a workaround, you can configure the certificate using the SSL_CERT_FILE/SSL_CERT_DIR
注: This is a global setting that overrides your SSL configuration for all connections.
|
Supported with these environment variables:
|
Usage of multiple Base-64 encoded certificates (PEM) in a single file with APPDYNAMICS_CONTROLLER_SSL_CERTFILE . |
Supported with these noted limitations:
|
Supported |
要件
- はじめに、リリースノートを読み、環境に影響を与える変更点を確認してください。
-
Cisco AppDynamics は、シングルテナント コントローラアカウントへのエージェント接続にアカウントアクセスキーを要求します。4.1 より前の Splunk AppDynamics は、マルチテナント コントローラ アカウントのアカウントアクセスキーのみを要求します。
シングルテナント コントローラのお客様は、[Settings] > [License] > [Account] の順にクリックするとコントローラにアカウントのアクセスキーが表示されます。
重要: ライセンス表示レベルのアカウント権限を持つロールのメンバーである必要があります。「Splunk AppDynamics のカスタムロールの管理」を参照してください。
バイナリの概要
エージェントバイナリをダウンロードしたら、zip ファイルから目的のフォルダに展開する必要があります。
フォルダには次のファイルが必要です。
AppDynamics.Agent.netstandard.dlllibappdprofiler.solibappdprofiler_glibc.solibappdprofiler_musl.so
.NET Agent for Linux のアップグレード
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"]