このページでは、.NET エージェントのインストール時に発生する可能性のある問題について説明します。 

エージェントとコントローラ間の通信を確認

AppDynamics UIを使用して、エージェントがコントローラに接続できるか確認します。

  1. ブラウザで以下を開く。

    http://<controller-host>:<controller-port>/controller
    

    Internet Explorer でコントローラに接続できない場合は、「Check Internet Explorer proxy settings」を参照してください。

  2. AppDynamics UIにログインする。
  3. アプリケーションを選択して、アプリケーションダッシュボードを開く。
  4. 左側のナビゲーションパネルで、[Servers > Tiers & Nodes] を選択し、[Health] タブを開く。

Healthタブにはティア、ノード、アプリケーションエージェントのステータスが表示されます。エージェントがコントローラに正常に報告すると、上向きの矢印が表示されます。

エージェントとコントローラの接続」を参照してください。

  • 同じティアの複数のエージェントを展開する場合、同じティアに報告を行うノード数が正しいことを確認する。
  • Web アプリケーションにリクエストを送信すると、データが AppDynamics UI に表示される。そのエージェントはアプリケーションダッシュボードのアプリケーションフローマップに表示される。

Dashboard

数分後にデータが表示されない場合:

  • エージェントがログファイルを書き込んでいることを確認する。
    Windowsサーバー2008以降:%ProgramData%\AppDynamics\DotNetAgent\Logs\AgentLog.txt
  • ログファイルが存在する場合、それを開いて、エラーを確認する。
  • ログファイルが存在しない場合、Windows イベントビューアを実行し、アプリケーションメッセージを確認する。
  • AppDynamicsイベントメッセージがない場合、.NETランタイムからのメッセージを探す。

Internet Explorer プロキシ設定の確認

次の手順を使用して、ステップ 1 の「エージェントとコントローラ間の接続を確認」が失敗した場合に AppDynamics コントローラとの接続問題を解決します。プロキシを使用して動作するように .NET エージェントを構成するには、「.NETエージェントの構成プロパティ」の「コントローラエレメント」を参照してください。

Internet Explorer でプロキシ設定が誤っていると、.NET のアプリケーション エージェントがコントローラに接続できないことがあります。
AppDynamics エージェント構成ユーティリティの [Controller Configuration] ペインで [Test Controller connection] が失敗した場合は、次のことを行ってください。

  1. コントローラホストとポート設定が正しいことを確認する。
  2. Internet Explorerで、以下を開く。

    http://<controller-host>:<controller-port>/controller
    
  3. Internet Explorerでも接続に失敗した場合は、プロキシ設定を確認する。「IE プロキシ設定の変更」を参照してください。
  4. 誤ったプロキシ設定を修正または削除する。

解決のチェックリスト .NET Agentインストール上の問題


項目 

備考

(tick)

管理者としてインストーラを実行する。

管理者権限の確認

(tick)MSDTCが有効化されており、正しいアカウントのもとで実行されていることを確認する。MSDTCが有効化されており、正しいアカウントのもとで実行されていることを確認する。

(tick)

エージェントディレクトリの権限を確認する。

サイトのアプリケーションプール ID に基づいて、.NET エージェントディレクトリに正しい権限があることを確認する

(tick)

エージェントがコントローラと互換性があることを確認する。

エージェントとコントローラテナントの互換性

(tick)

config.xml で設定が正しいことを確認する。

Windowsサーバー2008以降:
%ProgramData%\AppDynamics\DotNetAgent\Config\config.xml

.NETエージェントの構成プロパティを含めるように config.xml ファイルを更新する。

解決 .NET Agentインストール上の問題

エージェントのインストールに失敗した場合は、使用中の環境で次の構成を確認します。

管理者権限の確認

インストーラを起動する際は、管理者権限を持っていることを確認します。現在のユーザーが十分な権限を持っていない場合、インストーラは管理者パスワードの確認メッセージを表示します。

MSDTC が有効で、正しいアカウントで実行されていることを確認する

MSDTC が有効になっていない、または誤ったアカウントで実行されているというエラーが発生した場合、管理者権限を使用して管理者特権でのコマンドプロンプトを起動し、次のコマンドを実行します。

msdtc -install

MSTDC がすでにインストールされていても、このコマンドはサービスをリセットし、「NT Authority\NetworkServices」アカウントを使用して実行されます。

エージェントのインストールエラーのログを生成する

インストーラを起動できない場合、次のコマンドライン ユーティリティを使用してインストーラを起動します。

msiexec /i $Path_to_the_MSI_File /l*v verbose.log

.NETエージェントの詳細ログが、インストーラファイルを保存した場所に作成されます。

他の APM 製品によるインストールエラーを修正する

他のアプリケーションパフォーマンス管理(APM)製品が同じ管理対象の環境にインストールされている場合、.NETエージェントのインストールを失敗することがあります。インストールされている APM 製品の特定のサービスに関連付けられている環境サブキーを削除します。

レジストリで W3SVC と WAS サービスの関連環境サブキーを削除するには、次の手順を実行します。

  1. Regeditまたはregedt32を実行する。
  2. regedit.exe で、次のレジストリキーを見つける。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W3SVC
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WAS
  3. キーを展開する。
  4. Environment サブキーを修正し、次の値を削除する。

    COMPLUS_ProfAPI_ProfilerCompatibilitySetting=EnableV2Profiler
        COR_ENABLE_PROFILING=1
        COR_PROFILER= {a GUID}
  5. サービスを再起動します。「How to restart the W3SVC and WAS services?」を参照してください。

構成エラーの解決

  • IIS アプリケーションを完全な信頼レベルに設定する。IIS アプリケーションの信頼レベルが Full 以外に設定されていると、.NET エージェントのレポートは機能しません。
  • .NET のアプリケーション エージェントの config.xml ファイルが正しく構成されているか確認する。詳細については、.NETエージェントの構成プロパティを参照してください。
  • config.xml ファイルを手動で編集した場合は、AgentLog.txt ファイルと WarnLog.txt ファイルにエラーがないか確認する。無効な XML はログに次のように表示されます。

    2014-03-13 10:49:18.7199 1232 dllhost 1 1 Error ConfigurationManager Error reading the configuration file
    CODE
  • ログ問題の解決

.NET エージェントはログを次のディレクトリに書き込みます。

 %ProgramData%\AppDynamics\DotNetAgent\Logs

エージェントディレクトリに十分な権限がない場合、エージェントはログを生成しません。

.NET エージェントディレクトリに正しい権限が設定されていることを確認する

  1. [IIS > Application pools] を選択します。
    IIS にマシンのアプリケーションプールのリストが表示される。
    Application Pools
  2. 特定のアプリケーションプールを右クリックする。
  3. [Advanced Settings] を選択します。
    Advanced Settings
    IIS にそのアプリケーションのアプリケーションプール ID が表示される。
    Application Pool Identities
  4. エージェントディレクトリもサイトのアプリケーションプールと同じ権限を持つことを確認する。
    • AppDynamicsの.NETアプリケーションサーバーエージェントディレクトリに移動する。
    • アプリケーション サーバ エージェントの logs ディレクトリを右クリックし、[Properties] を選択する
      Permissions For Logs

    • [Security] タブをクリックし、.NET エージェントディレクトリに同じアプリケーションプール ID が指定されていることを確認する。
      Security

エージェントのログディレクトリが必要な権限を持っていない場合

  1. [Security] タブで [Edit] を選択する。
  2. [Add] を選択して、エージェントディレクトリに新しい権限を追加する。
  3. [Advanced] を選択します。
    Advanced Permissions
  4. Find Now をクリックし、マシンのユーザ、グループ、またはビルトイン セキュリティ プリンシパルをすべて表示する。
  5. 必要なグループをリストから選択して OK をクリックする。許可されたグループについては、次の情報を参照してください。
  6. 選択したユーザ、グループ、またはセキュリティ プリンシパルの読み取り権と書き込み権をエージェントディレクトリに付与し、OK をクリックする。
  7. Apply をクリックします。

様々な IIS バージョンの許可されたグループ

IIS 6.x の場合、次の設定がアプリケーションプール ID に適用されます。

アプリケーションプールID

権限レベル

LocalService

LOCAL SERVICE

LocalSystem

SYSTEM

NetworkService

NETWORK SERVICE

Custom Account

アカウントの正確な名前を提示。

IIS 7.0 以降の場合、次の設定がアプリケーションプール ID に適用されます。

アプリケーションプールID

権限レベル

LocalService

LOCAL SERVICE

LocalSystem

SYSTEM

NetworkService

NETWORK SERVICE

ApplicationPoolIdentity

IIS_IUSRS グループのグループレベル権限を提示
(以下のスクリーンショットを参照)。

Custom Account

アカウントの正確な名前を提示。

たとえば、アプリケーションの ID が「ApplicationPoolIdentity」の場合、「IIS_IUSRS」グループの権限をエージェントディレクトリに付与する必要があります。

 Agent Directory

検出された別のバージョンの AppDynamics

AppDynamics では、この問題を解決するためにサポートに連絡することを推奨しています。

.NET エージェント 20.3 以降は .NET Core をサポートします。マイクロサービス エージェントを使用して .NET Core アプリケーションをモニタした場合は、.Net Core を完全な .NET エージェントでモニタできます。別のバージョンの AppDynamics が検出されたことを示すエラーメッセージが、MSI インストーラに表示されることがあります。 

マイクロサービス エージェントは JSON ファイルを使用して構成情報を保存しますが、.NET エージェントは XML ファイルを使用します。データは、これらのファイル間では移行されません。 

この問題を解決するには、JSON ファイル内のデータを XML ファイル config.xml にマッピングし、環境変数を削除する必要があります。上記の手順を完了してもエラーが表示される場合は、マシンの再起動が必要になることがあります。計画的な停止スケジュールに従って再起動を計画することもできます。 

既知の問題

agent.log または warn.log の AppDynamics.Agent.Coordinator サービスで発生する以下のエラーは無視できます。

2015-12-01 10:12:03.0435 3872 AppDynamics.Coordinator 1 7 Warn MaxQueueItemAgePolicy MaxQueueItemAge is beyond the integer limit: 13093467123