メインコンテンツまでスキップ

.NET Framework Agent インストール

1. モジュールの説明​

exem-dotnet-agentは、.NET Frameworkベースのプロセス(IISなど)のトランザクション、SQL、Call Tree、例外データを収集してExemONEに送信するモニタリングエージェントです。

2. サポート環境​

項目内容
OSWindows
Arch64bit
Runtime.NET Framework 4.5以上
PlatformOn-premise (IIS / w3wp.exe)
FrameworkASP.NET (IIS/w3wp)
DBSQL Server (System.Data.dll)
HTTPRemote Call (System.Net.WebResponse)
Socket
ProtocolTCP 9010 → Receiver
PrereqVisual C++再頒布可能パッケージ
管理者権限
GAC登録
COMコンポーネントのレジストリ登録
OtherError handling
Application lifecycle
Custom Transaction

3. インストール方法​

3-1. パッケージのダウンロード​

インストールパッケージ(Exem_DotNet_Agent_[version].zip)をサーバーにダウンロードするか直接アップロードした後、解凍します。

3-2. システム環境変数の設定​

Windowsシステム環境変数に以下の項目を設定します。

必須環境変数:

環境変数説明例
EXEM_DOTNET_PATHパッケージ解凍パス配下のexemフォルダのパスC:\workspace\package\exem
EXEM_DOTNET_PROFILE_TARGET_PROCESSProfilerがモニタリングするプロセス名w3wp.exe

任意環境変数:

環境変数説明
EXEM_DOTNET_DEBUGExem.DotNet.Profilerのデバッグログを有効化(true)
EXEM_DOTNET_DEBUG2Exem.DotNet.Agentのデバッグログを有効化(Agent ID発行以前の区間をログに記録、true)

3-3. ランタイムライブラリおよびエージェントのインストール​

v3.0.3以上のパッケージでは、バッチファイルを使用した簡易インストールをサポートします。

方法1 — バッチファイルでインストール (v3.0.3以上、推奨)​

  1. tools/Visual Studio 2017 C++ Redistributableフォルダから、サーバーのアーキテクチャに合ったVisual C++再頒布可能パッケージをインストールします。
  2. tools/netfw_agent_install.batファイルを管理者権限で実行します。

方法2 — 個別インストール​

以下の順序で各手順を進めます。

  1. Visual C++再頒布可能パッケージのインストール tools/Visual Studio 2017 C++ Redistributableフォルダから、サーバーのアーキテクチャに合ったインストールファイルを実行します。

  2. Profiler DLLの登録 tools/dll_regsvr/DLL_Install.batファイルを管理者権限で実行します。 Exem.DotNet.ProfilerがCOMコンポーネントとしてレジストリに登録されます。

  3. Agent GAC登録 tools/Assembly/assembly_regist.batファイルを管理者権限で実行します。 x86環境ではassembly_regist_x86.batを実行します。

  4. エージェントサービスの登録 tools/profile_for_service_start.batファイルを管理者権限で実行します。

4. Gathererアドレスの設定​

config/net.confファイルのDG_ADDRオプションにExemONE収集サーバーのアドレスを設定します。

DG_ADDR=<収集サーバーIP>:<ポート>

4. 削除方法​

4-1. 削除前の確認事項​

管理者権限のコマンドプロンプト、またはバッチ実行権限が必要です。

対象サービスまたはIIS worker processが動作中の場合、削除直後に再起動の要否を確認します。

パッケージパスを維持したまま削除するのが安全です。削除バッチはEXEM_DOTNETFW_HOMEまたはシステムレジストリの同じ値を参照します。

4-2. 推奨される削除方法​

tools/netfw_agent_uninstall.batを管理者権限で実行します。

このバッチファイルは以下の作業を順に実行します。

  1. エージェントサービスの停止
  2. GAC登録されたアセンブリの削除
  3. Profiler DLLのCOM登録解除
  4. システム環境変数の削除 (EXEM_DOTNETFW_HOME, EXEM_DOTNETFW_DEBUG, EXEM_DOTNETFW_DEBUG2, EXEM_DOTNET_PROFILE_TARGET_PROCESS, EXEM_DOTNET_RETRY_COUNT)

4-3. 手動削除方法​

以下の順序で各手順を進めます。

1. エージェントサービスの停止​

tools/profile_for_service_stop.batを管理者権限で実行します。

2. GAC登録アセンブリの削除​

アーキテクチャに合ったバッチファイルを管理者権限で実行します。

  • x64: tools/Assembly/assembly_remove.bat
  • x86: tools/Assembly/assembly_remove_x86.bat

削除対象アセンブリ: Exem.DotNetFw.Agent, log4net, System.Buffers, System.Runtime.CompilerServices.Unsafe, System.Memory, Google.Protobuf

3. Profiler DLLの登録解除​

tools/dll_regsvr/DLL_Remove.batを管理者権限で実行します。 Exem.DotNetFw.Profiler.x86.dll、Exem.DotNetFw.Profiler.x64.dllのCOM登録が解除されます。

4. システム環境変数の削除​

以下のコマンドを管理者権限のコマンドプロンプトで実行します。

reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNETFW_HOME /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNETFW_DEBUG /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNETFW_DEBUG2 /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNET_PROFILE_TARGET_PROCESS /f
reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" /v EXEM_DOTNET_RETRY_COUNT /f