Microsoft IIS
This integration is disabled by default. Please refer to Enable and Disable Integrations to enable it in your account.
This integration has 56 metrics.
The metrics in this integration are scraped from the Windows Exporter in the Windows integration. To enable the IIS metrics in the Windows Exporter, add the iis
collector to its config.yaml
file.
List of Alerts
Alert | Description | Format |
---|---|---|
[Microsoft IIS] Requests Temporarily Blocked Due To Bandwidth Throttling | Requests have been temporarily blocked due to bandwidth throttling. | Prometheus |
[Microsoft IIS] Requests Rejected Due To Bandwidth Throttling | Requests have been temporarily rejected due to bandwidth throttling. | Prometheus |
[Microsoft IIS] Too Many Recycles | The application pool has been recycled too many times. | Prometheus |
[Microsoft IIS] Worker Processes Crashing | The worker processes have crashed too many times. | Prometheus |
[Microsoft IIS] Worker Processes Ping Failing | The Windows Process Activation Service (WAS) has failed multiple times to receive a response to ping messages sent to a worker process. | Prometheus |
[Microsoft IIS] Worker Processes Startup Failing | The Windows Process Activation Service (WAS) has failed multiple times to start a worker process. | Prometheus |
[Microsoft IIS] Worker Processes Shutdown Failing | The Windows Process Activation Service (WAS) has failed multiple times to shut down a worker process. | Prometheus |
[Microsoft IIS] High 4XX Error Rate | The percentage of 4XX errors is high. | Prometheus |
[Microsoft IIS] High 5XX Error Rate | The percentage of 5XX errors is high. | Prometheus |
List of Dashboards
Microsoft IIS - Overview
The dashboard provides an overview of the status and performance of the Microsoft IIS service.
Microsoft IIS - Application Pools and Workers
The dashboard provides information of the status and performance of the Microsoft IIS application pools and their workers.
List of Metrics
Metric name |
---|
windows_iis_anonymous_users_total |
windows_iis_blocked_async_io_requests_total |
windows_iis_cgi_requests_total |
windows_iis_connection_attempts_all_instances_total |
windows_iis_current_anonymous_users |
windows_iis_current_application_pool_state |
windows_iis_current_blocked_async_io_requests |
windows_iis_current_cgi_requests |
windows_iis_current_connections |
windows_iis_current_isapi_extension_requests |
windows_iis_current_non_anonymous_users |
windows_iis_current_worker_processes |
windows_iis_files_received_total |
windows_iis_files_sent_total |
windows_iis_ipapi_extension_requests_total |
windows_iis_locked_errors_total |
windows_iis_logon_attempts_total |
windows_iis_non_anonymous_users_total |
windows_iis_not_found_errors_total |
windows_iis_received_bytes_total |
windows_iis_recent_worker_process_failures |
windows_iis_rejected_async_io_requests_total |
windows_iis_requests_total |
windows_iis_sent_bytes_total |
windows_iis_server_file_cache_hits_total |
windows_iis_server_file_cache_memory_bytes |
windows_iis_server_file_cache_queries_total |
windows_iis_server_metadata_cache_hits_total |
windows_iis_server_metadata_cache_queries_total |
windows_iis_server_output_cache_hits_total |
windows_iis_server_output_cache_memory_bytes |
windows_iis_server_output_cache_queries_total |
windows_iis_server_uri_cache_hits_total |
windows_iis_server_uri_cache_queries_total |
windows_iis_total_application_pool_recycles |
windows_iis_total_worker_process_failures |
windows_iis_total_worker_process_ping_failures |
windows_iis_total_worker_process_shutdown_failures |
windows_iis_total_worker_process_startup_failures |
windows_iis_worker_current_websocket_requests |
windows_iis_worker_file_cache_hits_total |
windows_iis_worker_file_cache_memory_bytes |
windows_iis_worker_file_cache_queries_total |
windows_iis_worker_metadata_cache_hits_total |
windows_iis_worker_metadata_cache_queries_total |
windows_iis_worker_output_cache_hits_total |
windows_iis_worker_output_cache_memory_bytes |
windows_iis_worker_output_queries_total |
windows_iis_worker_request_errors_total |
windows_iis_worker_requests_total |
windows_iis_worker_threads |
windows_iis_worker_uri_cache_hits_total |
windows_iis_worker_uri_cache_queries_total |
windows_iis_worker_websocket_connection_accepted_total |
windows_iis_worker_websocket_connection_attempts_total |
windows_iis_worker_websocket_connection_rejected_total |
Prerequisites
None.
Installation
Installing an exporter is not required for this integration.
Monitoring and Troubleshooting Microsoft IIS
This document describes important metrics and queries that you can use to monitor and troubleshoot Microsoft IIS.
Server
Requests
Requests rate
Use the following query to get the requests per second by each site.
sum by (hostname, site)(rate(windows_iis_requests_total[2m]))
Use the following query to get the requests per second by each site and each method.
sum by (hostname, site, method)(rate(windows_iis_requests_total[2m]))
Request Errors
Use the following query to get the requests per second that have been made that were not satisfied by the server because the requested document was not found. These requests are usually reported as HTTP error 404.
rate(windows_iis_not_found_errors_total[2m])
Use the following query to get the requests per second that have been made that could not be satisfied by the server because the requested document was locked. These requests are usually reported as HTTP error 423.
rate(windows_iis_locked_errors_total[2m])
CGI, ISAPI and Async IO
CGI
Use the following query to get the number of CGI requests that are being processed simultaneously by the web service.
windows_iis_current_cgi_requests
Use the following query to get the number of CGI requests per second.
rate(windows_iis_cgi_requests_total[2m])
ISAPI
Use the following query to get the number of ISAPI extension requests that are being processed simultaneously by the web service.
windows_iis_current_isapi_extension_requests
Use the following query to get the number of ISAPI extension requests per second.
rate(windows_iis_ipapi_extension_requests_total[2m])
Async IO
Use the following query to get the number of current requests temporarily blocked due to bandwidth throttling settings.
windows_iis_current_blocked_async_io_requests
Use the following query to get the number of requests temporarily blocked due to bandwidth throttling settings per second.
rate(windows_iis_blocked_async_io_requests_total[2m])
Use the following query to get the number of requests rejected due to bandwidth throttling settings per second.
rate(windows_iis_rejected_async_io_requests_total[2m])
Connections and Users
Connections
Use the following query to get the current number of connections established with the web service.
windows_iis_current_connections
Use the following query to get the number of connections to the web service that have been attempted per second.
rate(windows_iis_connection_attempts_all_instances_total[2m])
Use the following query to get the number of attempts to log on to the web service that have occurred per second.
rate(windows_iis_logon_attempts_total[2m])
Users
Use the following query to get the current number of users who currently have an anonymous request pending with the web service.
windows_iis_current_anonymous_users
Use the following query to get the number of users who have established an anonymous request per second.
rate(windows_iis_anonymous_users_total[2m])
Use the following query to get the current number of users who currently have a non-anonymous request pending with the web service.
windows_iis_current_non_anonymous_users
Use the following query to get the number of users who have made non-anonymous requests to the web service per second.
rate(windows_iis_non_anonymous_users_total[2m])
Network
Data
Use the following query to get the number of data bytes that have been sent by the web service per second.
rate(windows_iis_sent_bytes_total[2m])
Use the following query to get the number of data bytes that have been received by the web service per second.
rate(windows_iis_received_bytes_total[2m])
Files
Use the following query to get the number of files that have been sent by the FTP service per second.
rate(windows_iis_files_sent_total[2m])
Use the following query to get the number of files that have been received by the FTP service per second.
rate(windows_iis_files_received_total[2m])
Server Cache
Use the following query to get the current number of bytes used by the file cache.
windows_iis_server_file_cache_memory_bytes
Use the following query to get the percentage of successful lookups in the user-mode file cache.
(
rate(windows_iis_server_file_cache_hits_total[2m])
/
rate(windows_iis_server_file_cache_queries_total[2m])
) * 100
Use the following query to get the percentage of successful lookups in the URI cache.
(
sum by (hostname)(rate(windows_iis_server_uri_cache_hits_total[2m]))
/
sum by (hostname)(rate(windows_iis_server_uri_cache_queries_total[2m]))
) * 100
Use the following query to get the current number of bytes used by the output cache.
windows_iis_server_output_cache_memory_bytes
Use the following query to get the percentage of successful lookups in the output cache.
(
rate(windows_iis_server_output_cache_hits_total[2m])
/
rate(windows_iis_server_output_cache_queries_total[2m])
) * 100
Use the following query to get the percentage of successful lookups in the metadata cache.
(
rate(windows_iis_server_metadata_cache_hits_total[2m])
/
rate(windows_iis_server_metadata_cache_queries_total[2m])
) * 100
Application Pools and Workers
Application Pools
Application Pools and Worker Processes
Use the following query to get the state of the application pools.
windows_iis_current_application_pool_state > 0
The state of the application pools can be one of the following:
- Uninitialized
- Initialized
- Running
- Disabling
- Disabled
- Shutdown Pending
- Delete Pending
Use the following query to get the current number of worker processes that are running in the application pool.
windows_iis_current_worker_processes
Use the following query to get the number of times that the application pool has been recycled per second.
rate(windows_iis_total_application_pool_recycles[2m])
Worker Processes Failures
Use the following query to get the number of times that worker processes for the application pool failed during the rapid-fail protection interval.
windows_iis_recent_worker_process_failures
Use the following query to get the number of times that worker processes have crashed per second.
rate(windows_iis_total_worker_process_failures[2m])
Use the following query to get the number of times that the Windows Process Activation Service did not receive a response to ping messages sent to a worker process per second.
rate(windows_iis_total_worker_process_ping_failures[2m])
Use the following query to get the number of times that the Windows Process Activation Service failed to start a worker process per second.
rate(windows_iis_total_worker_process_startup_failures[2m])
Use the following query to get the number of times that Windows Process Activation Service failed to shut down a worker process per second.
rate(windows_iis_total_worker_process_shutdown_failures[2m])
Worker Requests
HTTP Requests and Threads
Use the following query to get the number of HTTP requests served by the application pool per second.
sum by (hostname, app)(rate(windows_iis_worker_requests_total[2m]))
Use the following query to get the number of HTTP requests that returned an error per second.
sum by (hostname, app, status_code)(rate(windows_iis_worker_request_errors_total[2m]))
Use the following query to get the percentage of HTTP requests that returned a 4XX error.
(
sum by (hostname, app)(rate(windows_iis_worker_request_errors_total{status_code=~'4..'}[2m]))
/
sum by (hostname, app)(rate(windows_iis_worker_requests_total[2m]))
) * 100
Use the following query to get the percentage of HTTP requests that returned a 4XX error.
(
sum by (hostname, app)(rate(windows_iis_worker_request_errors_total{status_code=~'5..'}[2m]))
/
sum by (hostname, app)(rate(windows_iis_worker_requests_total[2m]))
) * 100
Use the following query to get the number of threads actively processing requests in the the application pool.
sum by (hostname, app, state)(windows_iis_worker_threads)
Websocket Requests
Use the following query to get the number of active websocket requests in the the application pool.
sum by (hostname, app)(windows_iis_worker_current_websocket_requests[2m])
Use the following query to get the number of accepted websocket requests in the the application pool per second.
sum by (hostname, app)(rate(windows_iis_worker_websocket_connection_accepted_total[2m]))
Use the following query to get the number of rejected websocket requests in the the application pool per second.
sum by (hostname, app)(rate(windows_iis_worker_websocket_connection_rejected_total[2m]))
Use the following query to get the percentage of websocket rejected requests.
(
sum by (hostname, app)(rate(windows_iis_worker_websocket_connection_rejected_total[2m]))
/
sum by (hostname, app)(rate(windows_iis_worker_websocket_connection_attempts_total[2m]))
) * 100
Worker Cache
Use the following query to get the current number of bytes used by user-mode file cache.
avg by (hostname, app)(windows_iis_worker_file_cache_memory_bytes)
Use the following query to get the percentage of successful lookups in the user-mode file cache.
(
avg by (hostname, app)(rate(windows_iis_worker_file_cache_hits_total[2m]))
/
avg by (hostname, app)(rate(windows_iis_worker_file_cache_queries_total[2m]))
) * 100
Use the following query to get the percentage of successful lookups in the user-mode URI cache.
(
avg by (hostname, app)(rate(windows_iis_worker_uri_cache_hits_total[2m]))
/
avg by (hostname, app)(rate(windows_iis_worker_uri_cache_queries_total[2m]))
) * 100
Use the following query to get the current number of bytes used by the output cache.
avg by (hostname, app)(windows_iis_worker_output_cache_memory_bytes)
Use the following query to get the percentage of successful lookups in the output cache.
(
avg by (hostname, app)(rate(windows_iis_worker_output_cache_hits_total[2m]))
/
avg by (hostname, app)(rate(windows_iis_worker_output_queries_total[2m]))
) * 100
Use the following query to get the percentage of successful lookups in the user-mode metadata cache.
(
avg by (hostname, app)(rate(windows_iis_worker_metadata_cache_hits_total[2m]))
/
avg by (hostname, app)(rate(windows_iis_worker_metadata_cache_queries_total[2m]))
) * 100
Agent Configuration
This integration has no default agent job.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.