トラブルシューティングと .Net エージェントのヒント

以下では、.NET エージェントの作業での一般的な設定の問題、および推奨事項について説明します。
apmdevops106
以下では、.NET エージェントの作業での一般的な設定の問題、および推奨事項について説明します。
エージェント拡張機能のバージョン情報の修正
.NET エージェントおよび任意のオプションの拡張機能をどのタイミングでインストールするかによって、拡張機能のバージョン番号が .NET エージェントのバージョン番号と異なっていることがあり得ます。 通常、バージョン情報が .NET エージェントと拡張機能との間で異なる場合、エージェントではエラー メッセージがログ記録され、拡張機能は正常に動作しません。 バージョン情報を手動で更新することで、この種の問題を修正できます。 お使いの環境に応じて、以下のいずれかの操作を行います。
  • 個別のアプリケーションが正しいエージェント バージョン番号を使用するように設定します。
  • すべてのアプリケーションが正しいエージェント バージョン番号を使用するように一括して設定します。
選択できるオプションは
1 つ
のみです。両方のオプションを設定しないでください。
個別のアプリケーションのバージョン情報の設定方法
  1. インストールする機能拡張が標準の
    .exe
    ファイルの場合、<
    Extension_Name
    >.exe.config という名前のファイルを作成し、このファイルを元の
    .exe
    ファイルと同じディレクトリに配置します。
  2. インストールする拡張機能が IIS アプリケーションである場合は、w3wp.exe.config という名前のファイルを作成し、それを w3wp.exe と同じディレクトリに格納します。 これは、デフォルトのドメイン用です。
  3. IIS アプリケーションの機能拡張の場合、アプリケーションごとに web.config に以下の設定を追加します。
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
    <assemblyIdentity name="
    ...
    "
    ...
    />
    <bindingRedirect oldVersion="0.0.0.0 - 65535.65535.65535.65535" newVersion="
    <AGENT.VERSION.NUMBER>
    "/>
    </dependentAssembly>
    </assemblyBinding>
    assemblyIdentity name を入力し、エージェントのバージョン番号を使用する .NET エージェントのバージョン番号に置き換えます。 4 桁で構成されるバージョン情報を使用してください。 たとえば、.Net エージェントのバージョン
    9.7.0.0
    をインストールした場合は、以下の記述を追加します。
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
    <assemblyIdentity name="wily.Agent" publicKeyToken="2B41FDFB6CD662A5"/>
    <bindingRedirect oldVersion="9.0.5.0 - 65535.65535.65535.65535"
    newVersion="9.7.0.0"
    />
    </dependentAssembly>
    </assemblyBinding>
上記のファイルがすでに存在する場合は、
<runtime>
の下に
<assemblyBinding>
ノードを追加します。
グローバルにすべてのアプリケーションを構成する方法
  • 通常、アプリケーションの %runtime install path%
    \Config
    ディレクトリ内にある machine.config ファイルに以下の記述を追加します。
    assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
    <assemblyIdentity name="
    ...
    "
    ...
    />
    <bindingRedirect oldVersion="0.0.0.0 - 65535.65535.65535.65535" newVersion="
    <AGENT.VERSION.NUMBER>
    "/>
    </dependentAssembly>
    </assemblyBinding>
    assemblyIdentity
    name
    を入力し、エージェントのバージョン番号を使用する .NET エージェントのバージョン番号に置き換えます。 4 桁で構成されるバージョン情報を使用してください。 たとえば、バージョン
    9.7.0.0
    の .NET エージェントをインストールした場合は、以下の記述を追加します。
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
    <assemblyIdentity name="wily.Agent" publicKeyToken="2B41FDFB6CD662A5"/>
    <bindingRedirect oldVersion="9.0.5.0 - 65535.65535.65535.65535"
    newVersion="9.7.0.0"
    />
    </dependentAssembly>
    </assemblyBinding>
このコード スニペットを、すべてのアプリケーションにグローバルに影響を与える machine.config に追加します。
hotdeploy ディレクトリの有効/無効の選択
hotdeploy ディレクトリを有効にすると、IntroscopeAgent.profile を編集することなく、また、場合によっては管理対象アプリケーションを再起動することなく、新しいディレクティブをデプロイすることができます。 この機能を使用する場合は注意が必要です。 カスタム PBD に無効な構文が含まれていたり、非常に多くのメトリックを収集するよう設定されていたりすると、即座に影響を及ぼします。 PBD が無効である場合は NativeProfiler のシャットオフを引き起こす可能性があります。また、非常に多くのメトリックを収集する PBD はアプリケーションのパフォーマンスに影響を与えます。
これを解決するため、以下をお勧めします。
  • 実運用環境に導入する前に、すべてのディレクティブを QA 環境およびパフォーマンス環境でテストおよび検証する。
  • PBD をデプロイするため、サーバ環境の変更管理プロセスが更新されており、新しいオプションが反映されていることを確認する。
新しい PBD が hotdeploy ディレクトリに配置されると、.Net エージェントによって自動的にこの新しい PBD がデプロイされます。 ただし、すでに実行されているクラスおよびアプリケーションは、アプリケーションが再起動されるまでは、新しい PBD または変更された PBD の影響を受けません。
hotdeploy ディレクトリには、PBD ファイルのみをデプロイできます。 エージェントは、ディレクトリに配置された ProbeBuilder リスト(PBL)はすべて無視します。
hotdeploy ディレクトリの使用を無効にすることで、不正な PBD ファイルが自動的にデプロイされるのを防ぐことができます。
hotdeploy ディレクトリを無効にする方法。
  1. hotdeploy ディレクトリに保存されているカスタム PBD を
    <Agent_Home>
    ディレクトリに移動します。
  2. IntroscopeAgent.profile ファイルをテキスト エディタで開きます。
  3. introscope.autoprobe.directivesFile プロパティから hotdeploy を削除します。
  4. 使用するカスタム PBD を introscope.autoprobe.directivesFile プロパティに追加します。 例:
    introscope.autoprobe.directivesFile=default-typical.pbl,custom1.pbd,custom2.pbd,custom3.pbd
  5. IntroscopeAgent.profile を保存し、エージェントを再起動します。