.NET Framework Agent インストール
1. モジュールの説明
exem-dotnet-agentは、.NET Frameworkベースのプロセス(IISなど)のトランザクション、SQL、Call Tree、例外データを収集してExemONEに送信するモニタリングエージェントです。
2. サポート環境
| 項目 | 内容 |
|---|---|
| OS | Windows |
| Arch | 64bit |
| Runtime | .NET Framework 4.5以上 |
| Platform | On-premise (IIS / w3wp.exe) |
| Framework | ASP.NET (IIS/w3wp) |
| DB | SQL Server (System.Data.dll) |
| HTTP | Remote Call (System.Net.WebResponse) Socket |
| Protocol | TCP 9010 → Receiver |
| Prereq | Visual C++再頒布可能パッケージ 管理者権限 GAC登録 COMコンポーネントのレジストリ登録 |
| Other | Error 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_PROCESS | Profilerがモニタリングするプロセス名 | w3wp.exe |
任意環境変数:
| 環境変数 | 説明 |
|---|---|
EXEM_DOTNET_DEBUG | Exem.DotNet.Profilerのデバッグログを有効化(true) |
EXEM_DOTNET_DEBUG2 | Exem.DotNet.Agentのデバッグログを有効化(Agent ID発行以前の区間をログに記録、true) |
3-3. ランタイムライブラリおよびエージェントのインストール
v3.0.3以上のパッケージでは、バッチファイルを使用した簡易インストールをサポートします。
方法1 — バッチファイルでインストール (v3.0.3以上、推奨)
tools/Visual Studio 2017 C++ Redistributableフォルダから、サーバーのアーキテクチャに合ったVisual C++再頒布可能パッケージをインストールします。tools/netfw_agent_install.batファイルを管理者権限で実行します。
方法2 — 個別インストール
以下の順序で各手順を進めます。
Visual C++再頒布可能パッケージのインストール
tools/Visual Studio 2017 C++ Redistributableフォルダから、サーバーのアーキテクチャに合ったインストールファイルを実行します。Profiler DLLの登録
tools/dll_regsvr/DLL_Install.batファイルを管理者権限で実行します。Exem.DotNet.ProfilerがCOMコンポーネントとしてレジストリに登録されます。Agent GAC登録
tools/Assembly/assembly_regist.batファイルを管理者権限で実行します。 x86環境ではassembly_regist_x86.batを実行します。エージェントサービスの登録
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を管理者権限で実行します。
このバッチファイルは以下の作業を順に実行します。
- エージェントサービスの停止
- GAC登録されたアセンブリの削除
- Profiler DLLのCOM登録解除
- システム環境変数の削除 (
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