IISアプリケーションプールのインストルメンテーションの無効化

マシンに .NET エージェントをインストールし、自動階層命名を使用する場合、エージェントはデフォルトですべての IIS アプリケーションをインストゥルメント化します。すべてのアプリケーションプールをモニターする必要がない場合は、選択したプールのモニタリングを無効化します。

  1. config.xml を開きます。.NET エージェントの管理
  2. application-pools IIS の追加.NET エージェント構成プロパティ
    <application-pools>
    <!-- Do not instrument applications in DefaultAppPool when "enabled" attribute is set to false -->
    <application-pool name="DefaultAppPool" enabled="false" >
    <tier name="Disabled App Pool" />
    </application-pool>
    </application-pools>
    注: tier は必須エレメントです。アプリケーションプールを無効化していても必須です。
  3. application-pool の設定 DefaultAppPool application-pool
  4. AppDynamics.Agent.Coordinator サービスを再起動します。
  5. IISを再起動します。

アプリケーションドメインモニタリングの構成

複数のアプリケーションドメイン(AppDomain)で ASP.NET アプリケーションをモニタするように、.NET エージェントを構成できます。このページは、AppDomains の使用に関する知識があり、アプリケーションへの AppDomain の実装に精通しているユーザーを対象としています。

CLR が管理されたコードを実行する前にインスタンス化するシステムドメイン、共有ドメイン、またはデフォルトドメイン、AppDomain については、このページでは説明されません。スタンドアロン アプリケーションが DefaultDomain で実行している場合、「スタンドアロン アプリケーションのDefaultDomainのインストルメンテーション」を参照してください。

.NET の AppDomain

Windowsは、実行中のアプリケーション間のセキュリティとパフォーマンス分離の管理にプロセスを使用します。プロセスの分離により、アプリケーションの実行コードが別のアプリケーションを干渉することはありません。ただし、データを共有するアプリケーションの場合、Windows プロセス間でコールを行うと混乱やパフォーマンスの問題を引き起こすことがあります。AppDomainを使用すると、デベロッパーは1つのプロセス内で実行しながらアプリケーションの分離を維持できる複数アプリケーションを作成することができます。

単一のアプリケーションドメイン

1 つのアプリケーションがそのプロセス内で実行される場合は、ランタイムホストで AppDomain は管理されます。アプリケーションの実行可能ファイルの名前と AppDomain の名前は同じです。 .NET エージェントは、1 つの AppDomain 内にそれ自身をインストールし、アプリケーション用のノードを作成します。

AppDomain

複数のアプリケーションドメイン

デベロッパーがアプリケーションに複数のAppDomainを含めると、AppDomainはすべて単一のプロセス内で実行されます。アプリケーションの実行可能ファイルは、AppDomain の 1 つと同じ名前の場合もありますが、その他の AppDomain は独自の名前になります。デフォルトでは、エージェントはすべてのAppDomain内でインストールされ、それぞれらのノードを作成します。

複数のアプリケーションドメイン

複数のアプリケーションドメインのモニタリング構成

モニタ対象のアプリケーションに複数の Appdomain が含まれている場合、.NET のアプリケーション エージェントは自動的に各 AppDomain をインストゥルメント化し、ノードを作成します。指定した AppDomain のみをインストゥルメント化するように .NET エージェントを構成できます。これを使用して、モニタ対象ではない Appdomain を除外し、ティア内のノード数を制限します。

以下を対象としたアプリケーションドメインのモニタリングを構成できます。

  • Windows Services
  • スタンドアロンアプリケーション

config.xml ファイルで .NET エージェントのすべてのインストルメンテーション設定を構成します。「.NETエージェントの管理」を参照してください。

  1. インストゥルメント化する AppDomain の名前を指定。
    注: I

    すでにアプリケーションをインストゥルメント化してある場合、ノードのダッシュボードで AppDomain 名を確認できます。

    左のナビゲーションウィンドウでノードをクリックして、[CLR] をクリックします。

    インストゥルメント化可能な AppDomain
  2. 管理者としてテキストエディタを起動。
  3. 管理者として config.xml ファイルを編集。「.NETエージェントの管理」を参照してください。
  4. 複数の AppDomain があるアプリケーションに対応するエレメントを見つけます:スタンドアロン アプリケーション エレメント:<standalone-application executable="MyWindowsApplication.exe">
  5. app-domain-name MyApp.exe AppDomain MyApp.exe を追加します。
    <standalone-application executable="MyApp.exe" app-domain-name="MyApp.exe">
    <tier name="StandaloneApplication Tier"/>
    </standalone-application>
    注: ユーザーが config.xml ファイルの 1 つの AppDomain をインストゥルメント化すると、指定した複数の AppDomain のみをエージェントがインストゥルメント化します。他の Appdomain はインストゥルメント化されません。
  6. さらに AppDomain をインストゥルメント化するには、各ドメインのエレメントを分離アプリケーションのように追加します。たとえば、MyAppDomain1 MyApp.exe をインストゥルメント化します。
    <standalone-application executable="MyApp.exe" app-domain-name="MyAppDomain1">
    <tier name="StandaloneApplication Tier"/>
    </standalone-application>
  7. config.xml ファイルを保存します。
  8. AppDynamics.Agent.Coordinator サービスを再起動します。
  9. インストゥルメント化されたアプリケーション(Windowsサービスまたはスタンドアロンアプリケーション)を再起動。
複数の AppDomain を持つスタンドアロン アプリケーション構成のサンプル

この例 config.xml MyApp.exe config.xml MyApp.exe MyAppDomain2 スタンドアロン AppDomain(サンプル)

<?xml version="1.0" encoding="utf-8"?>
<appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<controller host="mycontroller.mycompany.com" port="8090" ssl=false">
<account name="customer1" password="changeme" />
<application name="MyDotNetApplication" />
</controller>
<machine-agent />
<app-agents>
<standalone-applications>
<standalone-application executable="MyApp.exe" app-domain-name="MyApp.exe">
<tier name="StandaloneApplication Tier"/>
</standalone-application>
<standalone-application executable="MyApp.exe" app-domain-name="MyAppDomain2">
<tier name="StandaloneApplication Tier"/>
</standalone-application>
</standalone-applications>
</app-agents>
</appdynamics-agent>

WCFデータサービスのインストルメンテーションの有効化

このページでは、.NET マシンエージェントを構成して、Microsoft LightSwitch 用の WCF RIA サービスなどの Windows Communication Foundation(WCF)データサービスのインストルメンテーションを有効化する方法について説明します。

  1. config.xml を開きます。「.NET エージェントの管理」を参照してください。
  2. 以下のコードブロックをマシンエージェントエレメントの子エレメントにコピーします。たとえば、設定シンタックスが enabled="true" になります。「.NET エージェントの設定プロパティ」を参照してください。
    <instrumentation>
    <instrumentor name="WCFDSEntryInstrumentor" enabled="true" />
    </instrumentation>
    <?xml version="1.0" encoding="utf-8"?>
    <appdynamics-agent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    ...
    <machine-agent>
    <!--Enable instrumentation for WCF Data Services correlation-->
    <instrumentation>
    <instrumentor name="WCFDSEntryInstrumentor" enabled="true" />
    </instrumentation>
    </machine-agent>
    ...
    </appdynamics-agent>
  3. config.xml ファイルを保存します。
  4. AppDynamics.Agent.Coordinator を再起動します。
  5. インストゥルメント化されたアプリケーションを再起動して、変更を適用。