Choose a fetching method for Performance Counter Monitors in SAM
For many component monitor types, you can control the method that SAM uses to poll for data. For example, if you select WinRM/DCOM for a Windows Service Monitor, SAM will try to use WinRM for application polling. If WinRM fails, DCOM is used as the fallback method.
For Performance Counter Monitors, you can either:
- Select Default as the Fetching Method to allow fallback to occur when necessary, or
- Select one of the following methods for SAM to use explicitly:
- Managed (RPC): Call .NET Framework methods to get performance counter data.
- External (RPC): Use the CounterFetcher.exe utility to call the Performance Data Helper (PDH) API. Note that threading issues may occur with the PDH library, so multithreading polling jobs can cause polling failures.
- PDH (RPC): Call the PDH API directly from the polling job.
- WMI: Use WMI to collect performance counter data.
- WinRM: Use WinRM to collect performance counter data. If WinRM fails, DCOM is used as the fallback method.
Starting in SAM 2020.2.6, you can save time and reduce polling by disabling specific fallback methods for Performance Counter Monitors, either within a specific application monitor or at the template level. If the selected protocol fails, no fallback occurs.
For more granular control of Performance Counter Monitors when Default is selected as the Fetching Method, advanced users can set the preferred order of fallback methods by editing the following file on the SolarWinds Platform server:
c:\Program Files (x86)\SolarWinds\Orion\APM\SolarWinds.APM.Probes.dll.config
For example, change the fetching order by editing the following line:
<add key ="PerfCounters.DefaultFetchingOrder" value="WinRM, Managed, WMI, External, Pdh"
Note that there are two properties in the
PerfCounters.DefaultFetchingOrderfor non-agent polled nodes.
PerfCounters.AgentModeFetchingOrderfor Agent polled nodes.
This function allows an administrator to change the priority of methods for application monitor templates, or for specific application monitors, as created when you assign a template to a specific node.