Observe IIS performance and availability on Windows Server with Dynatrace.
With Dynatrace you will get observability for IIS without touching any code through auto-instrumentation.
Activate the IIS Extension to get additional metrics, a custom IIS dashboard, and the ability to view IIS Instances, App Pools and Sites on Unified Analysis pages.
Activate log monitoring to get full log insight.
More information is available here.
If IIS is running directly on a virtual machine, [install OneAgent](/#install) on that virtual machine to get started.
To limit monitoring to specific IIS Sites or App Pools, adjust the variables to focus only on the Sites or App Pools you are interested in monitoring.
Each variable is a WHERE clause for the WMI query in WQL format. See WQL Queries for more information.
Name = 'Default Web Site'Name LIKE '%MySite%'Name != '_Total'The names for IIS Sites and App Pools are available by splitting by iis_site or iis_app_pool for the appropriate metrics. However, the datasource removes spaces from the names. To be sure the query is correct, use the names as displayed in Windows IIS Manager.
When activating your extension using monitoring configuration, you can limit monitoring to one of the feature sets. To work properly the extension has to collect at least one metric after the activation.
In highly segmented networks, feature sets can reflect the segments of your environment. Then, when you create a monitoring configuration, you can select a feature set and a corresponding ActiveGate group that can connect to this particular segment.
All metrics that aren't categorized into any feature set are considered to be the default and are always reported.
A metric inherits the feature set of a subgroup, which in turn inherits the feature set of a group. Also, the feature set defined on the metric level overrides the feature set defined on the subgroup level, which in turn overrides the feature set defined on the group level.
| Metric name | Metric key | Description |
|---|---|---|
| File cache hits | iis.W3SVC_WebServiceCache.FileCacheHits.count | Total number of successful lookups in the user-mode file cache (since service startup). |
| Kernel URI cache hits | iis.W3SVC_WebServiceCache.KernelURICacheHits.count | Total number of successful lookups in the kernel URI cache (since service startup). |
| Output cache current hits percent | iis.W3SVC_WebServiceCache.OutputCacheCurrentHitsPercent | Output Cache current hit ratio. Calculated as (H)/(H+M) where H and M represent Hits and Misses in previous sample interval respectively. |
| Metric name | Metric key | Description |
|---|---|---|
| Active listener channels | iis.WASW3WP.ActiveListenerChannels | Number of currently active listener channels in the worker process. |
| Active protocol handlers | iis.WASW3WP.ActiveProtocolHandlers | Number of currently active protocol handlers in the worker process. |
| Health ping reply latency | iis.WASW3WP.HealthPingReplyLatency | Time, in 100 nanosecond increments, taken by worker process to reply to last health ping. |
| Metric name | Metric key | Description |
|---|---|---|
| Total HEAD Requests | iis.total.head.requests.count | The number of HTTP requests using the HEAD method (since service startup). Head requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. |
| Total PUT Requests | iis.total.put.requests.count | The number of HTTP requests using the PUT method (since service startup). |
| Total DELETE Requests | iis.total.delete.requests.count | The number of HTTP requests using the DELETE method (since service startup). Delete requests are generally used for file removals. |
| Total OPTIONS Requests | iis.total.options.requests.count | The number of HTTP requests using the OPTIONS method (since service startup). |
| Total TRACE Requests | iis.total.trace.requests.count | The number of HTTP requests using the TRACE method (since service startup). Trace requests allow the client to see what is being received at the end of the request chain and use the information for diagnostic purposes. |
| Metric name | Metric key | Description |
|---|---|---|
| Byte total per second | iis.W3SVC_WebService.BytesTotalPersec | Bytes Total/sec is the sum of Bytes Sent/sec and Bytes Received/sec. This is the total rate of bytes transferred by the Web service. |
| Connection attempts per second | iis.W3SVC_WebService.ConnectionAttemptsPersec | The rate that connections to the Web service are being attempted. |
| Current anonymous users | iis.W3SVC_WebService.CurrentAnonymousUsers | The number of users who currently have an anonymous connection using the Web service. |
| Current Connections | iis.current.connections.gauge | Current Connections is the current number of connections established with the Web service. |
| Current non-anonymous users | iis.W3SVC_WebService.CurrentNonAnonymousUsers | The number of users who currently have a non-anonymous connection using the Web service. |
| Metric name | Metric key | Description |
|---|---|---|
| Active requests | iis.W3SVCW3WP.ActiveRequests | Current number of requests being processed by the worker process. |
| Active thread count | iis.W3SVCW3WP.ActiveThreadsCount | Number of threads actively processing requests in the worker process. |
| Current file cache memory usage | iis.W3SVCW3WP.CurrentFileCacheMemoryUsage | Current number of bytes used by user-mode file cache. |
| Current files cached | iis.W3SVCW3WP.CurrentFilesCached | Current number of files whose contents are present in user-mode cache. |
| Current metadata cached | iis.W3SVCW3WP.CurrentMetadataCached | Number of metadata information blocks currently present in user-mode cache. |
| Current URIs cached | iis.W3SVCW3WP.CurrentURIsCached | URI information blocks currently in the user-mode cache. |
| File cache misses per second | iis.W3SVCW3WP.FileCacheMissesPersec | Rate of unsuccessful lookups in file cache during last sample interval. |
| Maximum thread count | iis.W3SVCW3WP.MaximumThreadsCount | Maximum number of threads to which the thread pool can grow as needed. |
| Metadata cache misses per second | iis.W3SVCW3WP.MetadataCacheMissesPersec | Rate of unsuccessful lookups in metadata cache during last sample interval. |
| Output cache current memory usage | iis.W3SVCW3WP.OutputCacheCurrentMemoryUsage | Current number of bytes used by output cache. |
| Output cache misses per second | iis.W3SVCW3WP.OutputCacheMissesPersec | Rate of unsuccessful lookups in output cache during last sample interval. |
| Requests per second | iis.W3SVCW3WP.RequestsPerSec | HTTP requests/sec being processed by the worker process. |
| Total threads | iis.W3SVCW3WP.TotalThreads | Total number of threads available to process requests in the worker process. |
| Metric name | Metric key | Description |
|---|---|---|
| Total Bytes Sent | iis.total.bytes.sent.count | The number of data bytes that have been sent by the Web service (since service startup). |
| Total Bytes Received | iis.total.bytes.received.count | The number of data bytes that have been receivPed by the Web service (since service startup). |
| Total Bytes Transferred | iis.total.bytes.transferred.count | Total bytes either received or sent by the Web service (since service startup). |
| Total GET Requests | iis.total.get.requests.count | The number of HTTP requests using the GET method (since service startup). Get requests are the most common HTTP request. |
| Total POST Requests | iis.total.post.requests.count | The number of HTTP requests using the POST method (since service startup). |
| Total Method Requests | iis.total.method.requests.count | The number of all HTTP requests (since service startup). |
| Total Method Requests per Second | iis.method.requests.persec | The rate HTTP requests are received. |
| Current Connections | iis.current.connections.gauge | Current Connections is the current number of connections established with the Web service. |
| Service Uptime | iis.service.uptime | The length of time the Web Service has been running. |
| Total Files Received | iis.total.files.received.count | The total number of files received by the Web service (since service startup). |
| Total Files Sent | iis.total.files.sent.count | The total number of files sent by the Web service (since service startup). |
| Total Connection Attempts (All instances) | iis.total.connectionAttempts.allInstances.count | Total Connection Attempts is the number of connections that have been attempted using the Web service (since service startup). This counter is for all instances listed. |
| Total App Pool Uptime | iis.total.applicationPool.uptime | The length of time, in seconds, that the application pool has been running since Windows Process Activation Service (WAS) started. |
| Current number of worker processes | iis.current.workerProcesses | The current number of worker processes that are running in the application pool. |
| Maximum number of worker processes | iis.maximum.workerProcesses | The maximum number of worker processes that have been created for the application pool since Windows Process Activation Service (WAS) started. |
| Total App Pool Recycles | iis.total.applicationPool.recycles.count | The number of times that the application pool has been recycled since Windows Process Activation Service (WAS) started. |
| Current Application Pool Uptime | iis.current.applicationPool.uptime | The length of time, in seconds, that the application pool has been running since it was started. |
| Time Since Last Worker Process Failure | iis.timeSinceLast.workerProcess.failure | The length of time, in seconds, since the last worker process failure occurred for the application pool. |
| Recent Worker Process Failures | iis.APPPOOLWAS.RecentWorkerProcessFailures | The number of times that worker processes for the application pool failed during the rapid-fail protection interval. |
| Total Worker Process Failures | iis.APPPOOLWAS.TotalWorkerProcessFailures | The number of times that worker processes have crashed since the application pool was started. |
| Total Worker Process Ping Failures | iis.APPPOOLWAS.TotalWorkerProcessPingFailures | The number of times that Windows Process Activation Service (WAS) did not receive a response to ping messages sent to a worker process. |
| Total Worker Process Shutdown Failures | iis.APPPOOLWAS.TotalWorkerProcessShutdownFailures | The number of times that Windows Process Activation Service (WAS) failed to shut down a worker process. |
| Total Worker Process Startup Failures | iis.APPPOOLWAS.TotalWorkerProcessStartupFailures | The number of times that Windows Process Activation Service (WAS) failed to start a worker process. |
| Cache Hit Rate | iis.cache.hitRate | Rate of cache hits for the queue |
| Current Queue Size | iis.current.queue.size | Number of requests in the queue |
| Arrival rate | iis.HTTPServiceRequestQueues.ArrivalRate | Rate at which requests are arriving in the queue |
| Max age of requests in queue | iis.HTTPServiceRequestQueues.MaxQueueItemAge | Age of the oldest request in the queue |
| Rejected requests | iis.HTTPServiceRequestQueues.RejectedRequests | Total number of requests rejected from the queue |
| Rejected request rate | iis.HTTPServiceRequestQueues.RejectionRate | Rate at which requests are rejected from the queue |
| Application Pool State | iis.current.applicationPool.state | State metric for Application Pools. State is expressed in the 'App Pool' dimension. (1 - Uninitialized, 2 - Initialized, 3 - Running, 4 - Disabling, 5 - Disabled, 6 - Shutdown Pending, 7 - Delete Pending). |
| Metric name | Metric key | Description |
|---|---|---|
| All requests | iis.HTTPServiceUrlGroups.AllRequests.count | Total number of HTTP requests made for this site |
| Bytes received rate | iis.HTTPServiceUrlGroups.BytesReceivedRate | Rate of received data by HTTP service for this site |
| Bytes sent rate | iis.HTTPServiceUrlGroups.BytesSentRate | Rate of sending data by HTTP service for this site |
| Bytes transferred rate | iis.HTTPServiceUrlGroups.BytesTransferredRate | Rate of total bytes transferred (sent and received) by HTTP service for this site |
| Connection attempts rate | iis.HTTPServiceUrlGroups.ConnectionAttempts | Rate at which connection attempts are being made for this site |
| Current connections | iis.HTTPServiceUrlGroups.CurrentConnections | Number of current connections established for this site |
| GET requests per second | iis.HTTPServiceUrlGroups.GetRequests | Rate at which GET method requests are made for this site |
| HEAD requests per second | iis.HTTPServiceUrlGroups.HeadRequests | Rate at which HEAD method requests are made for this site |
| Max connections | iis.HTTPServiceUrlGroups.MaxConnections | Maximum number of concurrent connections established for this site |