Windowsパフォーマンスメトリックの管理

.NET マシンエージェントは、Microsoft パフォーマンスカウンターを使用して .NET メトリックを収集し、報告します。エージェントが収集するメトリックは、次のように管理できます。

  • エージェントが自動的に収集する一連のメトリックを調整する
  • デフォルト設定に含まれていない追加のカウンタからメトリックを収集するようにエージェントを構成する

Tune the Default Performance Metrics for the .NET Agent

The .NET Agent prioritizes the default set of Performance Counters into three categories: low, medium, and high. By default, the agent is set to collect metrics for all three categories.

Metric Browser LocationMetricPriority
ASP.NETApplication Restarts3 - Low
ASP.NETApplications Running3 - Low
ASP.NETRequest Wait Time2 - Medium
ASP.NETRequests Disconnected3 - Low
ASP.NETRequests Queued1 - High
ASP.NETRequests Rejected3 - Low
ASP.NETWorker Process Restarts3 - Low
ASP.NET ApplicationsAnonymous Requests3 - Low
ASP.NET ApplicationsAnonymous Requests/Sec3 - Low
ASP.NET ApplicationsCache API Entries3 - Low
ASP.NET ApplicationsCache API Hit Ratio3 - Low
ASP.NET ApplicationsCache API Turnover Rate3 - Low
ASP.NET ApplicationsCache Total Entries3 - Low
ASP.NET ApplicationsCache Total Hit Ratio3 - Low
ASP.NET ApplicationsCache Total Turnover Rate3 - Low
ASP.NET ApplicationsErrors During Compilation3 - Low
ASP.NET ApplicationsErrors During Execution3 - Low
ASP.NET ApplicationsErrors During Preprocessing3 - Low
ASP.NET ApplicationsErrors Total2 - Medium
ASP.NET ApplicationsErrors Total/sec2 - Medium
ASP.NET ApplicationsErrors Unhandled During Execution3 - Low
ASP.NET ApplicationsErrors Unhandled During Execution/sec3 - Low
ASP.NET ApplicationsOutput Cache Entries3 - Low
ASP.NET ApplicationsOutput Cache Hit Ratio3 - Low
ASP.NET ApplicationsOutput Cache Turnover Rate3 - Low
ASP.NET ApplicationsPipeline Instance Count3 - Low
ASP.NET ApplicationsRequests Executing3 - Low
ASP.NET ApplicationsRequests Failed3 - Low
ASP.NET ApplicationsRequests in Applicaton Queue1 - High
ASP.NET ApplicationsRequests Not Authorized3 - Low
ASP.NET ApplicationsRequests Not Found3 - Low
ASP.NET ApplicationsRequests Succeeded3 - Low
ASP.NET ApplicationsRequests Timed Out2 - Medium
ASP.NET ApplicationsRequests Total2 - Medium
ASP.NET ApplicationsRequests/sec2 - Medium
ASP.NET ApplicationsSession SQL Server Connections Total3 - Low
ASP.NET ApplicationsSession State Server Connections Total3 - Low
ASP.NET ApplicationsSessions Abandoned3 - Low
ASP.NET ApplicationsSessions Active3 - Low
ASP.NET ApplicationsSessions Timed Out3 - Low
ASP.NET ApplicationsSessions Total3 - Low
ASP.NET ApplicationsTransactions Aborted3 - Low
ASP.NET ApplicationsTransactions Committed3 - Low
ASP.NET ApplicationsTransactions Pending3 - Low
ASP.NET ApplicationsTransactions Total3 - Low
ASP.NET ApplicationsTransactions/sec3 - Low
CLRProcess CPU Burnt %2 - Medium
CLR -> ClassesCurrent Loaded Class Count3 - Low
CLR -> ClassesTotal Classes Loaded3 - Low
CLR -> Locks and ThreadsContention Rate Per Sec2 - Medium
CLR -> Locks and ThreadsCurrent Logical Threads2 - Medium
CLR -> Locks and ThreadsCurrent Physical Threads2 - Medium
CLR -> Locks and ThreadsSink Blocks in Use2 - Medium
CLR -> Memory -> HeapCommitted (bytes)1 - High
CLR -> Memory -> HeapCurrent Usage (bytes)1 - High
CLR -> Memory -> HeapGen 0 Usage (bytes)1 - High
CLR -> Memory -> HeapGen 1 Usage (bytes)1 - High
CLR -> Memory -> HeapGen 2 Usage (bytes)1 - High
CLR -> Memory -> LOHCurrent Usage (bytes)1 - High
Hardware Resources -> CPU%Busy1 - High
Hardware Resources -> CPU%Idle3 - Low
Hardware Resources -> Disks%Free1 - High
Hardware Resources -> DisksKB read/sec3 - Low
Hardware Resources -> DisksKB written/sec3 - Low
Hardware Resources -> DisksMB Free1 - High
Hardware Resources -> DisksReads/sec1 - High
Hardware Resources -> DisksWrites/sec1 - High
Hardware Resources -> MemoryFree %3 - Low
Hardware Resources -> MemoryFree (MB)3 - Low
Hardware Resources -> MemoryTotal (MB)1 - High
Hardware Resources -> MemoryUsed %1 - High
Hardware Resources -> MemoryUsed (MB)2 - Medium
Hardware Resources -> NetworkIncoming KB/sec2 - Medium
Hardware Resources -> NetworkIncoming packets/sec3 - Low
Hardware Resources -> NetworkOutgoing KB/sec2 - Medium
Hardware Resources -> NetworkOutgoing packets/sec3 - Low
IISCPU %1 - High
IISNumber of Working Processes3 - Low
IISWorking Set1 - High
IIS -> Application Pools -> <name>CPU %1 - High
IIS -> Application Pools -> <name>Number of Working Processes3 - Low
IIS -> Application Pools -> <name>Working Set1 - High
IIS -> INFOVersionMajor3 - Low
IIS -> INFOVersionMinor3 - Low

To reduce the number of metrics that the agent sends to the Controller, or to view less than a full set of metrics, you can configure that agent to collect fewer performance metrics. You can also set the agent to only collect specific metrics from the list. See .NET Agent Configuration Properties.

.NETの追加パフォーマンスカウンターの構成

エージェントが関心のあるパフォーマンスカウンタをモニタリングしていない場合は、パフォーマンスカウンタを追加することができます。

  1. AppDynamics.Agent.Coordinator サービスをシャットダウンします。
  2. config.xml を開きます。「.NET エージェントの管理」を参照してください。
  3. マシンエージェントエレメントの子としてパフォーマンスカウンターブロックを追加。
    <perf-counters>
    <perf-counter cat="" name="" instance=""/>
    </perf-counters>
  4. 追加する各パフォーマンスカウンターにパフォーマンス カウンター エレメントを作成。「.NET フレームワークのパフォーマンスカウンター」で指定されているパフォーマンスカウンターのいずれかを使用。たとえば、CPU のアイドル時間(%)測定用のパフォーマンスカウンターを追加する場合は、 <perf-counters> ブロックに次のエレメントを追加。
    • cat 属性をパフォーマンスカウンタのカテゴリに設定します。
    • name 属性は、パフォーマンスカウンタ名を示します。
    • instance 属性をパフォーマンスカウンタのインスタンスに設定します。カウンタにインスタンス名がない場合、空の文字列 "" のままにします。特定のパフォーマンスカウンタが多くのインスタンスを持っている場合、すべてのインスタンスの合計をレポートするために、次のオプションを指定できます。
      • instance = "*" または
      • instance = "all"

    <perf-counter cat="Processor" name="% Idle Time" instance="_Total"/>
  5. config.xml ファイルを保存します。
  6. AppDynamics.Agent.Coordinator サービスを起動します。
パフォーマンスカウンタのメトリックを有効化すると、メトリックブラウザのカスタムメトリックツリーに表示されます。

パフォーマンスカウンターを持つ.NETマシンエージェント構成のサンプル

<machine-agent>
<!-- Additional machine level Performance Counters -->
<perf-counters>
<perf-counter cat="Processor" name="% Idle Time" instance="_Total"/>
<!-- Perf counter with no instance name -->
<perf-counter cat="Memory" name="Available MBytes" instance="" />
</perf-counters>
</machine-agent>