The support document is confusing to me. It seems to be detailing how a collector can make a remote call to a windows server in order to get performance metrics captured by windows performance monitors.
I am clicking on our profile name in the MONITORING tab, clicking Topology, clicking a .NET process, and seeing the screen showing all the generation 1, gen2, large object heap, etc.
Only CPU usage and "GC Caused Suspension Time" has any metrics. Passing transactions also has metrics . thread count, gen0-2, and large object heap say "No permission to read performance counters".
How can I resolve this? What user does the agent run as (isnt it just Local Service?) and what additional permissions are needed to view these performance counters?
Solved! Go to Solution.
There are two types of Windows Performance Counter Monitoring
#1: Is done by the Dynatrace .NET Agent that is injected into your app. That agent CAN ONLY capture metrics from that process but is also limited to do so depending on the Windows User Account that runs that process. If you dont see Gen0, Gen1, Gen2 ... of a monitored process it is because the User Account used to run that process doesnt allow our .NET Agent to query performance counters from that process
#2: We also allow you to monitor ANY type of Windows Performance Counters through our Windows Monitor Plugin. This plugin gets executed on a Collector. The documentation you found describes that this Collector needs to run on a Windows Box and the user account you use for that Collector Service Process needs to have priviliges to access Windows Performance Metrics on those machines you want to monitor. This is the reason it talks about Remote Perf Access
Does this make sense? In your case it seems you need to figure out which user account runs your .net process and then give this user privilges to access windows performance metrics
so basically, assuming the .net agent is running under "local system", i'd need to give the "local system" account permissions to gather those perf metrics, or use a different use that already had those permissions. and if I want to use monitoring (like from a collector) i need to make sure i'm using a windows based collector to do so, again with the appropriate account/permissions.