cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

This product reached the end of support date on March 31, 2021.

How do I get the web server agent to have access to MS performance counters

dave_deleo
Inactive

There is a step that needs to be done to be able to see GC, CPU, Thread, etc MS information in the Dynatrace client from an IIS web server agent. You must associate the id being used for the w3wp.exe process with some MS group to allow the web server access to the MS performance counter information. However, the id that is always used but most is the application pool name. Which is not an ID at all. Since its not an ID it is not available to reference in Computer Management\System Tools\Users and Groups.

Can someone tell me what is the standard way to make this work and to what security group?

Thanks,

David

8 REPLIES 8

dave_deleo
Inactive

Here is an example of the w3wp.exe with the pool name being used as the user:

andreas_grabner
Dynatrace Guru
Dynatrace Guru

Hi

The Dynatrace Web Server Agent has two components: The Dynatrace Web SErver Agent that runs as a windows service and the Dynatrace Web SErver Module that gets loaded into your w3wp.exe process. This Web Server Agent gives you visibility into the NATIVE part of IIS - which includes things like Request Count, IIS Threads & CPU.

When you talk about Garbage Collection then this is something for our .NET Agent. You need to make sure that the .NET Agent is active for your AppPools. I have a YouTube Tutorial on how to enable Dynatrace for ASP.NET Applications - I recommend watching it: https://www.youtube.com/watch?v=57f4LMhBjVE&list=P...

There still is the question on user privileges in order to capture all this data. You have to make sure that the user account that runs your w3wp.exe process - in your case that seems to be the IIS Worker Process - has the correct priviliiges to access windows performance counters. More details on this topic can be found here: https://community.dynatrace.com/community/display/DOCDT62/How+To+Retrieve+Performance+Metrics+with+Windows+Performance+Monitor#HowToRetrievePerformanceMetricswithWindowsPerformanceMonitor-UserAuthenticationandPermissions

dave_deleo
Inactive

Thanks Andreas! We are very comfortable with setting up the .NET Agent as we have done it many times successfully, seeing purepaths for all of them. However it's the user priveleges that we run into a wall with. The directions at your URL are coming from the basis that we are setting up the process at the same time we are setting up Dynatrace and thus we get to create an id. But that is never the case.

Normally applications are set up years prior to Dynatrace being implemented. Therefore the id is already established. We would not be allowed to rewire a production application with a new ID risking something that has been working for years. So it is always a case where we need to use the established ID. But often that ID appears to be the default application pool name. This ID, does not appear to be a true ID so it is not available to reference in Computer Management\System Tools\Users and Groups. If we can't reference it we can't add it to Performance Monitor Users.

I hope I am explaining this clearly where the application uses the Default application pool name for the id to run its process?

If I am then how would I give permissions to this ID so that the agent have privileges to capture all the data such as Garbage Collection. Is the only answer to create a local id? We have many, many, applications I am finding that use the default application pool name as the id.

Please let me know if there is a creative way around this or if there is no way around this other than to create an id and change all the applications to use it? Its fine if there is no way around this, but I need to know so that we understand the limits we are working with.

Thanks,

David

The Dynatrace Agent that you load into your w3wp.exe process knows its Process ID because it "lives within that proceses". Therefore the Dynatrace Agent is able to say "HEy Windows - I need the perf counters for ID {123}". The thing that you need to make sure is that the windows users that runs your w3wp.exe has the priviliges to access windows performance counters. You do not need to give priviliges per Process ID. You have to give priviliges per Windows User. Dynatrace then figures out the correct Perf Counters to query

Andi

Valerio_Fiori
Dynatrace Organizer
Dynatrace Organizer

Hi Andi,

What other checks could we try if, after giving the right privileges to the users launching the w3wp, still we got no Performance metrics for the IIS Web Server?

Browsing the forum, I've read about the necessity of having Windows Remote Management service running, and it is.

Also even enabling the debug flag debugPerformanceCountersNative won't give us many infos in the log.

Thanks in advance,

Valerio

Can you make sure that the perf counters are actually working for ASP.NET? Do you get the counters when you watch them in windows performance monitor? I've seen cases where asp.net didnt register the perf counters correctly. there are some good postings when you google for "asp.net performance counters missing"

If that is not the case then I suggest opening a support ticket as I dont know what else it could be

Andi

Hi Andi,

Thanks for the quick reply! I will look into that and update this post with the results, I don't have access to that machine now. If it's useful, the .NET agents present on the same host have been always able to extract measure values for Passing Transactions & GC Caused Suspension time.

Thanks,
Valerio

https://support.microsoft.com/en-us/kb/2639320

Was recently informed of the above at my client, if the server is running Win7 or WinServer2008 R2 you may be affected by this too.