Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/iis_agent?at=release/7.4
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
Zabbix version: 7.4 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
| Name | Description | Default |
|---|---|---|
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/7.4/manual/config/items/itemtypes/simple_checks |
http |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
|
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
Zabbix agent | service.info[W3SVC] Preprocessing
|
| Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
Zabbix agent | service.info[WAS] Preprocessing
|
| {$IIS.PORT} port ping | Simple check | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing
|
|
| Uptime | The service uptime expressed in seconds. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| Current connections | The number of active connections. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing
|
| Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing
|
| Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing
|
| Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing
|
| Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing
|
| Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing
|
| Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing
|
| Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing
|
| Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing
|
| Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing
|
| Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing
|
| Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing
|
| Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing
|
| Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing
|
| Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing
|
| Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing
|
| Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing
|
| Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing
|
| Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing
|
| Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing
|
| Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing
|
| Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
Zabbix agent | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing
|
| URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
Zabbix agent | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing
|
| File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
Zabbix agent | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing
|
| URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
Zabbix agent | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[W3SVC])<>0 |
High | Depends on:
|
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[WAS])<>0 |
High | |
| IIS: Port {$IIS.PORT} is down | last(/IIS by Zabbix agent/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
Average | Manual close: Yes Depends on:
|
|
| IIS: Service has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
Info | Manual close: Yes |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | Zabbix agent | wmi.getall[root\webAdministration, select Name from ApplicationPool] |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#APPPOOL} Uptime | The web application uptime period since the last restart. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| AppPool {#APPPOOL} state | The state of the application pool. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing
|
| AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing
|
| AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
Zabbix agent | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Application pool {#APPPOOL} is not in Running state | last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
High | Depends on:
|
|
| IIS: Application pool {#APPPOOL} has been recycled | last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
Info | ||
| IIS: Request queue of {#APPPOOL} is too large | min(/IIS by Zabbix agent/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
Warning | Depends on:
|
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/iis_agent?at=release/7.2
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
Zabbix version: 7.2 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
| Name | Description | Default |
|---|---|---|
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/7.2/manual/config/items/itemtypes/simple_checks |
http |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
|
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
Zabbix agent | service.info[W3SVC] Preprocessing
|
| Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
Zabbix agent | service.info[WAS] Preprocessing
|
| {$IIS.PORT} port ping | Simple check | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing
|
|
| Uptime | The service uptime expressed in seconds. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| Current connections | The number of active connections. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing
|
| Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing
|
| Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing
|
| Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing
|
| Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing
|
| Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing
|
| Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing
|
| Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing
|
| Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing
|
| Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing
|
| Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing
|
| Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing
|
| Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing
|
| Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing
|
| Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing
|
| Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing
|
| Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing
|
| Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing
|
| Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing
|
| Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing
|
| Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing
|
| Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
Zabbix agent | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing
|
| URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
Zabbix agent | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing
|
| File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
Zabbix agent | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing
|
| URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
Zabbix agent | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[W3SVC])<>0 |
High | Depends on:
|
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[WAS])<>0 |
High | |
| IIS: Port {$IIS.PORT} is down | last(/IIS by Zabbix agent/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
Average | Manual close: Yes Depends on:
|
|
| IIS: Service has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
Info | Manual close: Yes |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | Zabbix agent | wmi.getall[root\webAdministration, select Name from ApplicationPool] |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#APPPOOL} Uptime | The web application uptime period since the last restart. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| AppPool {#APPPOOL} state | The state of the application pool. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing
|
| AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing
|
| AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
Zabbix agent | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Application pool {#APPPOOL} is not in Running state | last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
High | Depends on:
|
|
| IIS: Application pool {#APPPOOL} has been recycled | last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
Info | ||
| IIS: Request queue of {#APPPOOL} is too large | min(/IIS by Zabbix agent/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
Warning | Depends on:
|
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/iis_agent?at=release/7.0
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
Zabbix version: 7.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
| Name | Description | Default |
|---|---|---|
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/7.0/manual/config/items/itemtypes/simple_checks |
http |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
|
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
Zabbix agent | service.info[W3SVC] Preprocessing
|
| Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
Zabbix agent | service.info[WAS] Preprocessing
|
| {$IIS.PORT} port ping | Simple check | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing
|
|
| Uptime | The service uptime expressed in seconds. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| Current connections | The number of active connections. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing
|
| Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing
|
| Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing
|
| Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing
|
| Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing
|
| Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing
|
| Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing
|
| Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing
|
| Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing
|
| Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing
|
| Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing
|
| Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing
|
| Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing
|
| Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing
|
| Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing
|
| Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing
|
| Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing
|
| Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing
|
| Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing
|
| Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing
|
| Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing
|
| Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
Zabbix agent | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing
|
| URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
Zabbix agent | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing
|
| File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
Zabbix agent | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing
|
| URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
Zabbix agent | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[W3SVC])<>0 |
High | Depends on:
|
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[WAS])<>0 |
High | |
| IIS: Port {$IIS.PORT} is down | last(/IIS by Zabbix agent/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
Average | Manual close: Yes Depends on:
|
|
| IIS: Service has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
Info | Manual close: Yes |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | Zabbix agent | wmi.getall[root\webAdministration, select Name from ApplicationPool] |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#APPPOOL} Uptime | The web application uptime period since the last restart. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| AppPool {#APPPOOL} state | The state of the application pool. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing
|
| AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing
|
| AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
Zabbix agent | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Application pool {#APPPOOL} is not in Running state | last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
High | Depends on:
|
|
| IIS: Application pool {#APPPOOL} has been recycled | last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
Info | ||
| IIS: Request queue of {#APPPOOL} is too large | min(/IIS by Zabbix agent/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
Warning | Depends on:
|
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/iis_agent?at=release/6.4
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
Zabbix version: 6.4 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
| Name | Description | Default |
|---|---|---|
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/6.4/manual/config/items/itemtypes/simple_checks |
http |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
|
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| IIS: World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
Zabbix agent | service.info[W3SVC] Preprocessing
|
| IIS: Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
Zabbix agent | service.info[WAS] Preprocessing
|
| IIS: {$IIS.PORT} port ping | Simple check | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing
|
|
| IIS: Uptime | The service uptime expressed in seconds. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| IIS: Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| IIS: Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| IIS: Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| IIS: Current connections | The number of active connections. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| IIS: Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing
|
| IIS: Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing
|
| IIS: Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| IIS: NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| IIS: Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing
|
| IIS: Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing
|
| IIS: Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing
|
| IIS: Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing
|
| IIS: Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing
|
| IIS: Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing
|
| IIS: Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing
|
| IIS: Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing
|
| IIS: Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing
|
| IIS: Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing
|
| IIS: Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing
|
| IIS: Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing
|
| IIS: Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing
|
| IIS: Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing
|
| IIS: Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing
|
| IIS: Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing
|
| IIS: Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing
|
| IIS: Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing
|
| IIS: Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing
|
| IIS: Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing
|
| IIS: Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing
|
| IIS: Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
Zabbix agent | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing
|
| IIS: URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
Zabbix agent | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing
|
| IIS: File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
Zabbix agent | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing
|
| IIS: URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
Zabbix agent | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[W3SVC])<>0 |
High | Depends on:
|
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[WAS])<>0 |
High | |
| IIS: Port {$IIS.PORT} is down | last(/IIS by Zabbix agent/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
Average | Manual close: Yes Depends on:
|
|
| IIS: has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
Info | Manual close: Yes |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | Zabbix agent | wmi.getall[root\webAdministration, select Name from ApplicationPool] |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| IIS: {#APPPOOL} Uptime | The web application uptime period since the last restart. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| IIS: AppPool {#APPPOOL} state | The state of the application pool. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing
|
| IIS: AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing
|
| IIS: AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
Zabbix agent | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Application pool {#APPPOOL} is not in Running state | last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
High | Depends on:
|
|
| IIS: Application pool {#APPPOOL} has been recycled | last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
Info | ||
| IIS: Request queue of {#APPPOOL} is too large | min(/IIS by Zabbix agent/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
Warning | Depends on:
|
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/iis_agent?at=release/6.2
For Zabbix version: 6.2 and higher
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
This template was tested on:
See Zabbix template operation for basic instructions.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
No specific Zabbix configuration is required.
| Name | Description | Default |
|---|---|---|
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
`` |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/6.2/manual/config/items/itemtypes/simple_checks |
http |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | - |
ZABBIX_PASSIVE | wmi.getall[root\webAdministration, select Name from ApplicationPool] Filter: AND- {#APPPOOL} NOT_MATCHES_REGEX - {#APPPOOL} MATCHES_REGEX |
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| IIS | IIS: World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
ZABBIX_PASSIVE | service.info[W3SVC] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
ZABBIX_PASSIVE | service.info[WAS] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {$IIS.PORT} port ping | - |
SIMPLE | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Uptime | Service uptime in seconds. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| IIS | IIS: Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| IIS | IIS: Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| IIS | IIS: Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| IIS | IIS: Current connections | The number of active connections. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| IIS | IIS: Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| IIS | IIS: NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| IIS | IIS: Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {#APPPOOL} Uptime | The web application uptime period since the last restart. |
ZABBIX_PASSIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| IIS | IIS: AppPool {#APPPOOL} state | The state of the application pool. |
ZABBIX_PASSIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
ZABBIX_PASSIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
ZABBIX_PASSIVE | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[W3SVC])<>0 |
HIGH | Depends on: - IIS: Windows process Activation Service (WAS) is not running |
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[WAS])<>0 |
HIGH | |
| IIS: Port {$IIS.PORT} is down | - |
last(/IIS by Zabbix agent/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
AVERAGE | Manual close: YES Depends on: - IIS: The World Wide Web Publishing Service (W3SVC) is not running |
| IIS: has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
INFO | Manual close: YES |
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
INFO | Manual close: YES |
| IIS: Application pool {#APPPOOL} is not in Running state | - |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
HIGH | Depends on: - IIS: The World Wide Web Publishing Service (W3SVC) is not running |
| IIS: Application pool {#APPPOOL} has been recycled | - |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
INFO | |
| IIS: Request queue of {#APPPOOL} is too large | - |
min(/IIS by Zabbix agent/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
WARNING | Depends on: - IIS: Application pool {#APPPOOL} is not in Running state |
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template or ask for help with it at ZABBIX forums.
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/iis_agent?at=release/6.0
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
| Name | Description | Default |
|---|---|---|
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/6.0/manual/config/items/itemtypes/simple_checks |
http |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
|
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| IIS: World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
Zabbix agent | service.info[W3SVC] Preprocessing
|
| IIS: Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
Zabbix agent | service.info[WAS] Preprocessing
|
| IIS: {$IIS.PORT} port ping | Simple check | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing
|
|
| IIS: Uptime | The service uptime expressed in seconds. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| IIS: Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| IIS: Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| IIS: Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| IIS: Current connections | The number of active connections. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| IIS: Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing
|
| IIS: Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing
|
| IIS: Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| IIS: NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| IIS: Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing
|
| IIS: Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing
|
| IIS: Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing
|
| IIS: Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing
|
| IIS: Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing
|
| IIS: Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing
|
| IIS: Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing
|
| IIS: Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing
|
| IIS: Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing
|
| IIS: Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing
|
| IIS: Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing
|
| IIS: Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing
|
| IIS: Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing
|
| IIS: Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing
|
| IIS: Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing
|
| IIS: Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing
|
| IIS: Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing
|
| IIS: Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing
|
| IIS: Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing
|
| IIS: Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing
|
| IIS: Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
Zabbix agent | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing
|
| IIS: Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
Zabbix agent | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing
|
| IIS: URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
Zabbix agent | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing
|
| IIS: File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
Zabbix agent | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing
|
| IIS: URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
Zabbix agent | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[W3SVC])<>0 |
High | Depends on:
|
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service.info[WAS])<>0 |
High | |
| IIS: Port {$IIS.PORT} is down | last(/IIS by Zabbix agent/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
Average | Manual close: Yes Depends on:
|
|
| IIS: has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
Info | Manual close: Yes |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | Zabbix agent | wmi.getall[root\webAdministration, select Name from ApplicationPool] |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| IIS: {#APPPOOL} Uptime | The web application uptime period since the last restart. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| IIS: AppPool {#APPPOOL} state | The state of the application pool. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing
|
| IIS: AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
Zabbix agent | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing
|
| IIS: AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
Zabbix agent | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Application pool {#APPPOOL} is not in Running state | last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
High | Depends on:
|
|
| IIS: Application pool {#APPPOOL} has been recycled | last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
Info | ||
| IIS: Request queue of {#APPPOOL} is too large | min(/IIS by Zabbix agent/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
Warning | Depends on:
|
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/iis_agent?at=release/5.4
For Zabbix version: 5.4 and higher
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
This template was tested on:
See Zabbix template operation for basic instructions.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on you server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
No specific Zabbix configuration is required.
| Name | Description | Default |
|---|---|---|
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
`` |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/5.4/manual/config/items/itemtypes/simple_checks |
http |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | - |
ZABBIX_PASSIVE | wmi.getall[root\webAdministration, select Name from ApplicationPool] Filter: AND- {#APPPOOL} NOT_MATCHES_REGEX - {#APPPOOL} MATCHES_REGEX |
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| IIS | IIS: World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
ZABBIX_PASSIVE | service_state[W3SVC] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
ZABBIX_PASSIVE | service_state[WAS] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {$IIS.PORT} port ping | - |
SIMPLE | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Uptime | Service uptime in seconds. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| IIS | IIS: Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| IIS | IIS: Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| IIS | IIS: Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| IIS | IIS: Current connections | The number of active connections. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| IIS | IIS: Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| IIS | IIS: NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| IIS | IIS: Method Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {#APPPOOL} Uptime | The web application uptime period since the last restart. |
ZABBIX_PASSIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| IIS | IIS: AppPool {#APPPOOL} state | The state of the application pool. |
ZABBIX_PASSIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
ZABBIX_PASSIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
ZABBIX_PASSIVE | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in running state. IIS cannot start. |
last(/IIS by Zabbix agent/service_state[W3SVC])<>0 |
HIGH | Depends on: - IIS: Windows process Activation Service (WAS) is not the running |
| IIS: Windows process Activation Service (WAS) is not the running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent/service_state[WAS])<>0 |
HIGH | |
| IIS: Port {$IIS.PORT} is down | - |
last(/IIS by Zabbix agent/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
AVERAGE | Manual close: YES Depends on: - IIS: The World Wide Web Publishing Service (W3SVC) is not running |
| IIS: has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
last(/IIS by Zabbix agent/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
INFO | Manual close: YES |
| IIS: {#APPPOOL} has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
INFO | Manual close: YES |
| IIS: Application pool {#APPPOOL} is not in Running state | - |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
HIGH | Depends on: - IIS: The World Wide Web Publishing Service (W3SVC) is not running |
| IIS: Application pool {#APPPOOL} has been recycled | - |
last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
INFO | |
| IIS: Request queue of {#APPPOOL} is too large (over {$IIS.QUEUE.MAX.WARN}) | - |
min(/IIS by Zabbix agent/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
WARNING | Depends on: - IIS: Application pool {#APPPOOL} is not in Running state |
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/iis_agent?at=release/5.0
For Zabbix version: 5.0 and higher
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
This template was tested on:
See Zabbix template operation for basic instructions.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
No specific Zabbix configuration is required.
| Name | Description | Default |
|---|---|---|
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
`` |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/5.0/manual/config/items/itemtypes/simple_checks |
http |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | - |
ZABBIX_PASSIVE | wmi.getall[root\webAdministration, select Name from ApplicationPool] Filter: AND- A: {#APPPOOL} NOT_MATCHES_REGEX - B: {#APPPOOL} MATCHES_REGEX |
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| IIS | IIS: World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
ZABBIX_PASSIVE | service.info[W3SVC] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
ZABBIX_PASSIVE | service.info[WAS] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {$IIS.PORT} port ping | - |
SIMPLE | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Uptime | Service uptime in seconds. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| IIS | IIS: Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| IIS | IIS: Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| IIS | IIS: Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| IIS | IIS: Current connections | The number of active connections. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| IIS | IIS: Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| IIS | IIS: NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| IIS | IIS: Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
ZABBIX_PASSIVE | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {#APPPOOL} Uptime | The web application uptime period since the last restart. |
ZABBIX_PASSIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| IIS | IIS: AppPool {#APPPOOL} state | The state of the application pool. |
ZABBIX_PASSIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
ZABBIX_PASSIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
ZABBIX_PASSIVE | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
{TEMPLATE_NAME:service.info[W3SVC].last()}<>0 |
HIGH | Depends on: - IIS: Windows process Activation Service (WAS) is not running |
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
{TEMPLATE_NAME:service.info[WAS].last()}<>0 |
HIGH | |
| IIS: Port {$IIS.PORT} is down | - |
{TEMPLATE_NAME:net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}].last()}=0 |
AVERAGE | Manual close: YES Depends on: - IIS: The World Wide Web Publishing Service (W3SVC) is not running |
| IIS: has been restarted (uptime < 10m) | Uptime is less than 10 minutes. |
{TEMPLATE_NAME:perf_counter_en["\Web Service(_Total)\Service Uptime"].last()}<10m |
INFO | Manual close: YES |
| IIS: {#APPPOOL} has been restarted (uptime < 10m) | Uptime is less than 10 minutes. |
{TEMPLATE_NAME:perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"].last()}<10m |
INFO | Manual close: YES |
| IIS: Application pool {#APPPOOL} is not in Running state | - |
{TEMPLATE_NAME:perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"].last()}<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
HIGH | |
| IIS: Application pool {#APPPOOL} has been recycled | - |
{TEMPLATE_NAME:perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"].diff()}=1 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
INFO | |
| IIS: Request queue of {#APPPOOL} is too large (over {$IIS.QUEUE.MAX.WARN}) | - |
{TEMPLATE_NAME:perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"].min({$IIS.QUEUE.MAX.TIME})}>{$IIS.QUEUE.MAX.WARN} |
WARNING | Depends on: - IIS: Application pool {#APPPOOL} is not in Running state |
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
Zabbix version: 7.4 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
| Name | Description | Default |
|---|---|---|
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/7.4/manual/config/items/itemtypes/simple_checks |
http |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
|
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| {$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. |
5m |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
Zabbix agent (active) | service.info[W3SVC] Preprocessing
|
| Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
Zabbix agent (active) | service.info[WAS] Preprocessing
|
| {$IIS.PORT} port ping | Simple check | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing
|
|
| Uptime | The service uptime expressed in seconds. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| Current connections | The number of active connections. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing
|
| Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing
|
| Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing
|
| Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing
|
| Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing
|
| Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing
|
| Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing
|
| Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing
|
| Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing
|
| Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing
|
| Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing
|
| Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing
|
| Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing
|
| Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing
|
| Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing
|
| Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing
|
| Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing
|
| Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing
|
| Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing
|
| Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing
|
| Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing
|
| Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing
|
| URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing
|
| File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing
|
| URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing
|
| Active agent availability | Availability of active checks on the host. The value of this item corresponds to availability icons in the host list. Possible values: 0 - unknown 1 - available 2 - not available |
Zabbix internal | zabbix[host,active_agent,available] |
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[W3SVC])<>0 |
High | Depends on:
|
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[WAS])<>0 |
High | |
| IIS: Port {$IIS.PORT} is down | last(/IIS by Zabbix agent active/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
Average | Manual close: Yes Depends on:
|
|
| IIS: Service has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Active checks are not available | Active checks are considered unavailable. Agent is not sending heartbeat for prolonged time. |
min(/IIS by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2 |
High |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | Zabbix agent (active) | wmi.getall[root\webAdministration, select Name from ApplicationPool] |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#APPPOOL} Uptime | The web application uptime period since the last restart. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| AppPool {#APPPOOL} state | The state of the application pool. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing
|
| AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing
|
| AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
Zabbix agent (active) | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Application pool {#APPPOOL} is not in Running state | last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
High | Depends on:
|
|
| IIS: Application pool {#APPPOOL} has been recycled | last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
Info | ||
| IIS: Request queue of {#APPPOOL} is too large | min(/IIS by Zabbix agent active/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
Warning | Depends on:
|
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
Zabbix version: 7.2 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
| Name | Description | Default |
|---|---|---|
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/7.2/manual/config/items/itemtypes/simple_checks |
http |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
|
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| {$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. |
5m |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
Zabbix agent (active) | service.info[W3SVC] Preprocessing
|
| Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
Zabbix agent (active) | service.info[WAS] Preprocessing
|
| {$IIS.PORT} port ping | Simple check | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing
|
|
| Uptime | The service uptime expressed in seconds. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| Current connections | The number of active connections. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing
|
| Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing
|
| Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing
|
| Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing
|
| Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing
|
| Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing
|
| Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing
|
| Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing
|
| Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing
|
| Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing
|
| Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing
|
| Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing
|
| Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing
|
| Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing
|
| Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing
|
| Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing
|
| Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing
|
| Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing
|
| Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing
|
| Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing
|
| Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing
|
| Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing
|
| URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing
|
| File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing
|
| URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing
|
| Active agent availability | Availability of active checks on the host. The value of this item corresponds to availability icons in the host list. Possible values: 0 - unknown 1 - available 2 - not available |
Zabbix internal | zabbix[host,active_agent,available] |
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[W3SVC])<>0 |
High | Depends on:
|
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[WAS])<>0 |
High | |
| IIS: Port {$IIS.PORT} is down | last(/IIS by Zabbix agent active/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
Average | Manual close: Yes Depends on:
|
|
| IIS: Service has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Active checks are not available | Active checks are considered unavailable. Agent is not sending heartbeat for prolonged time. |
min(/IIS by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2 |
High |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | Zabbix agent (active) | wmi.getall[root\webAdministration, select Name from ApplicationPool] |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#APPPOOL} Uptime | The web application uptime period since the last restart. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| AppPool {#APPPOOL} state | The state of the application pool. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing
|
| AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing
|
| AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
Zabbix agent (active) | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Application pool {#APPPOOL} is not in Running state | last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
High | Depends on:
|
|
| IIS: Application pool {#APPPOOL} has been recycled | last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
Info | ||
| IIS: Request queue of {#APPPOOL} is too large | min(/IIS by Zabbix agent active/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
Warning | Depends on:
|
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
Zabbix version: 7.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
| Name | Description | Default |
|---|---|---|
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/7.0/manual/config/items/itemtypes/simple_checks |
http |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
|
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| {$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. |
5m |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
Zabbix agent (active) | service.info[W3SVC] Preprocessing
|
| Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
Zabbix agent (active) | service.info[WAS] Preprocessing
|
| {$IIS.PORT} port ping | Simple check | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing
|
|
| Uptime | The service uptime expressed in seconds. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| Current connections | The number of active connections. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing
|
| Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing
|
| Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing
|
| Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing
|
| Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing
|
| Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing
|
| Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing
|
| Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing
|
| Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing
|
| Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing
|
| Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing
|
| Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing
|
| Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing
|
| Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing
|
| Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing
|
| Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing
|
| Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing
|
| Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing
|
| Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing
|
| Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing
|
| Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing
|
| Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing
|
| Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing
|
| URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing
|
| File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing
|
| URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing
|
| Active agent availability | Availability of active checks on the host. The value of this item corresponds to availability icons in the host list. Possible values: 0 - unknown 1 - available 2 - not available |
Zabbix internal | zabbix[host,active_agent,available] |
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[W3SVC])<>0 |
High | Depends on:
|
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[WAS])<>0 |
High | |
| IIS: Port {$IIS.PORT} is down | last(/IIS by Zabbix agent active/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
Average | Manual close: Yes Depends on:
|
|
| IIS: Service has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Active checks are not available | Active checks are considered unavailable. Agent is not sending heartbeat for prolonged time. |
min(/IIS by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2 |
High |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | Zabbix agent (active) | wmi.getall[root\webAdministration, select Name from ApplicationPool] |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| {#APPPOOL} Uptime | The web application uptime period since the last restart. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| AppPool {#APPPOOL} state | The state of the application pool. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing
|
| AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing
|
| AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
Zabbix agent (active) | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Application pool {#APPPOOL} is not in Running state | last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
High | Depends on:
|
|
| IIS: Application pool {#APPPOOL} has been recycled | last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
Info | ||
| IIS: Request queue of {#APPPOOL} is too large | min(/IIS by Zabbix agent active/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
Warning | Depends on:
|
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
Zabbix version: 6.4 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
| Name | Description | Default |
|---|---|---|
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/6.4/manual/config/items/itemtypes/simple_checks |
http |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
|
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| {$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. |
5m |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| IIS: World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
Zabbix agent (active) | service.info[W3SVC] Preprocessing
|
| IIS: Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
Zabbix agent (active) | service.info[WAS] Preprocessing
|
| IIS: {$IIS.PORT} port ping | Simple check | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing
|
|
| IIS: Uptime | The service uptime expressed in seconds. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| IIS: Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| IIS: Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| IIS: Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| IIS: Current connections | The number of active connections. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| IIS: Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing
|
| IIS: Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing
|
| IIS: Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| IIS: NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| IIS: Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing
|
| IIS: Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing
|
| IIS: Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing
|
| IIS: Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing
|
| IIS: Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing
|
| IIS: Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing
|
| IIS: Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing
|
| IIS: Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing
|
| IIS: Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing
|
| IIS: Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing
|
| IIS: Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing
|
| IIS: Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing
|
| IIS: Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing
|
| IIS: Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing
|
| IIS: Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing
|
| IIS: Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing
|
| IIS: Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing
|
| IIS: Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing
|
| IIS: Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing
|
| IIS: Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing
|
| IIS: Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing
|
| IIS: Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing
|
| IIS: URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing
|
| IIS: File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing
|
| IIS: URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing
|
| IIS: Active agent availability | Availability of active checks on the host. The value of this item corresponds to availability icons in the host list. Possible value: 0 - unknown 1 - available 2 - not available |
Zabbix internal | zabbix[host,active_agent,available] |
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[W3SVC])<>0 |
High | Depends on:
|
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[WAS])<>0 |
High | |
| IIS: Port {$IIS.PORT} is down | last(/IIS by Zabbix agent active/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
Average | Manual close: Yes Depends on:
|
|
| IIS: has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Active checks are not available | Active checks are considered unavailable. Agent is not sending heartbeat for prolonged time. |
min(/IIS by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2 |
High |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | Zabbix agent (active) | wmi.getall[root\webAdministration, select Name from ApplicationPool] |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| IIS: {#APPPOOL} Uptime | The web application uptime period since the last restart. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| IIS: AppPool {#APPPOOL} state | The state of the application pool. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing
|
| IIS: AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing
|
| IIS: AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
Zabbix agent (active) | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Application pool {#APPPOOL} is not in Running state | last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
High | Depends on:
|
|
| IIS: Application pool {#APPPOOL} has been recycled | last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
Info | ||
| IIS: Request queue of {#APPPOOL} is too large | min(/IIS by Zabbix agent active/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
Warning | Depends on:
|
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
For Zabbix version: 6.2 and higher
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
This template was tested on:
See Zabbix template operation for basic instructions.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
No specific Zabbix configuration is required.
| Name | Description | Default |
|---|---|---|
| {$AGENT.TIMEOUT} | Timeout after which agent is considered unavailable. |
5m |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
`` |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/6.2/manual/config/items/itemtypes/simple_checks |
http |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | - |
ZABBIX_ACTIVE | wmi.getall[root\webAdministration, select Name from ApplicationPool] Filter: AND- {#APPPOOL} NOT_MATCHES_REGEX - {#APPPOOL} MATCHES_REGEX |
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| IIS | IIS: World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
ZABBIX_ACTIVE | service.info[W3SVC] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
ZABBIX_ACTIVE | service.info[WAS] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {$IIS.PORT} port ping | - |
SIMPLE | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Active agent availability | Availability of active checks on the host. The value of this item corresponds to availability icons in the host list. Possible value: 0 - unknown 1 - available 2 - not available |
INTERNAL | zabbix[host,active_agent,available] |
| IIS | IIS: Uptime | Service uptime in seconds. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| IIS | IIS: Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| IIS | IIS: Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| IIS | IIS: Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| IIS | IIS: Current connections | The number of active connections. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| IIS | IIS: Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| IIS | IIS: NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| IIS | IIS: Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {#APPPOOL} Uptime | The web application uptime period since the last restart. |
ZABBIX_ACTIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| IIS | IIS: AppPool {#APPPOOL} state | The state of the application pool. |
ZABBIX_ACTIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
ZABBIX_ACTIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
ZABBIX_ACTIVE | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[W3SVC])<>0 |
HIGH | Depends on: - IIS: Windows process Activation Service (WAS) is not running |
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[WAS])<>0 |
HIGH | |
| IIS: Port {$IIS.PORT} is down | - |
last(/IIS by Zabbix agent active/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
AVERAGE | Manual close: YES Depends on: - IIS: The World Wide Web Publishing Service (W3SVC) is not running |
| IIS: Zabbix agent: active checks are not available | Active checks are considered unavailable. Agent is not sending heartbeat for prolonged time. |
min(/IIS by Zabbix agent active/zabbix[host,active_agent,available],{$AGENT.TIMEOUT})=2 |
HIGH | |
| IIS: has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
INFO | Manual close: YES |
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
INFO | Manual close: YES |
| IIS: Application pool {#APPPOOL} is not in Running state | - |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
HIGH | Depends on: - IIS: The World Wide Web Publishing Service (W3SVC) is not running |
| IIS: Application pool {#APPPOOL} has been recycled | - |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
INFO | |
| IIS: Request queue of {#APPPOOL} is too large | - |
min(/IIS by Zabbix agent active/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
WARNING | Depends on: - IIS: Application pool {#APPPOOL} is not in Running state |
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template or ask for help with it at ZABBIX forums.
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
Zabbix version: 6.0 and higher.
This template has been tested on:
Zabbix should be configured according to the instructions in the Templates out of the box section.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
| Name | Description | Default |
|---|---|---|
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/6.0/manual/config/items/itemtypes/simple_checks |
http |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
|
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| IIS: World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
Zabbix agent (active) | service.info[W3SVC] Preprocessing
|
| IIS: Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
Zabbix agent (active) | service.info[WAS] Preprocessing
|
| IIS: {$IIS.PORT} port ping | Simple check | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing
|
|
| IIS: Uptime | The service uptime expressed in seconds. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| IIS: Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| IIS: Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| IIS: Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| IIS: Current connections | The number of active connections. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| IIS: Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing
|
| IIS: Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing
|
| IIS: Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| IIS: NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| IIS: Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing
|
| IIS: Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing
|
| IIS: Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing
|
| IIS: Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing
|
| IIS: Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing
|
| IIS: Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing
|
| IIS: Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing
|
| IIS: Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing
|
| IIS: Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing
|
| IIS: Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing
|
| IIS: Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing
|
| IIS: Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing
|
| IIS: Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing
|
| IIS: Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing
|
| IIS: Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing
|
| IIS: Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing
|
| IIS: Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing
|
| IIS: Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing
|
| IIS: Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing
|
| IIS: Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing
|
| IIS: Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
Zabbix agent (active) | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing
|
| IIS: Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing
|
| IIS: URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing
|
| IIS: File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing
|
| IIS: URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
Zabbix agent (active) | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[W3SVC])<>0 |
High | Depends on:
|
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service.info[WAS])<>0 |
High | |
| IIS: Port {$IIS.PORT} is down | last(/IIS by Zabbix agent active/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
Average | Manual close: Yes Depends on:
|
|
| IIS: has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
Info | Manual close: Yes |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | Zabbix agent (active) | wmi.getall[root\webAdministration, select Name from ApplicationPool] |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| IIS: {#APPPOOL} Uptime | The web application uptime period since the last restart. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| IIS: AppPool {#APPPOOL} state | The state of the application pool. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing
|
| IIS: AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
Zabbix agent (active) | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing
|
| IIS: AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
Zabbix agent (active) | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing
|
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: {#APPPOOL} has been restarted | Uptime is less than 10 minutes. |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
Info | Manual close: Yes |
| IIS: Application pool {#APPPOOL} is not in Running state | last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
High | Depends on:
|
|
| IIS: Application pool {#APPPOOL} has been recycled | last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
Info | ||
| IIS: Request queue of {#APPPOOL} is too large | min(/IIS by Zabbix agent active/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
Warning | Depends on:
|
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
For Zabbix version: 5.4 and higher
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
This template was tested on:
See Zabbix template operation for basic instructions.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on you server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
No specific Zabbix configuration is required.
| Name | Description | Default |
|---|---|---|
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
`` |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/5.4/manual/config/items/itemtypes/simple_checks |
http |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | - |
ZABBIX_ACTIVE | wmi.getall[root\webAdministration, select Name from ApplicationPool] Filter: AND- {#APPPOOL} NOT_MATCHES_REGEX - {#APPPOOL} MATCHES_REGEX |
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| IIS | IIS: World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
ZABBIX_ACTIVE | service_state[W3SVC] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
ZABBIX_ACTIVE | service_state[WAS] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {$IIS.PORT} port ping | - |
SIMPLE | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Uptime | Service uptime in seconds. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| IIS | IIS: Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| IIS | IIS: Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| IIS | IIS: Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| IIS | IIS: Current connections | The number of active connections. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| IIS | IIS: Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| IIS | IIS: NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| IIS | IIS: Method Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {#APPPOOL} Uptime | The web application uptime period since the last restart. |
ZABBIX_ACTIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| IIS | IIS: AppPool {#APPPOOL} state | The state of the application pool. |
ZABBIX_ACTIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
ZABBIX_ACTIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
ZABBIX_ACTIVE | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service_state[W3SVC])<>0 |
HIGH | Depends on: - IIS: Windows process Activation Service (WAS) is not the running |
| IIS: Windows process Activation Service (WAS) is not the running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
last(/IIS by Zabbix agent active/service_state[WAS])<>0 |
HIGH | |
| IIS: Port {$IIS.PORT} is down | - |
last(/IIS by Zabbix agent active/net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}])=0 |
AVERAGE | Manual close: YES Depends on: - IIS: The World Wide Web Publishing Service (W3SVC) is not running |
| IIS: has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
last(/IIS by Zabbix agent active/perf_counter_en["\Web Service(_Total)\Service Uptime"])<10m |
INFO | Manual close: YES |
| IIS: {#APPPOOL} has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"])<10m |
INFO | Manual close: YES |
| IIS: Application pool {#APPPOOL} is not in Running state | - |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"])<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
HIGH | Depends on: - IIS: The World Wide Web Publishing Service (W3SVC) is not running |
| IIS: Application pool {#APPPOOL} has been recycled | - |
last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#1)<>last(/IIS by Zabbix agent active/perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"],#2) and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
INFO | |
| IIS: Request queue of {#APPPOOL} is too large (over {$IIS.QUEUE.MAX.WARN}) | - |
min(/IIS by Zabbix agent active/perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"],{$IIS.QUEUE.MAX.TIME})>{$IIS.QUEUE.MAX.WARN} |
WARNING | Depends on: - IIS: Application pool {#APPPOOL} is not in Running state |
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
For Zabbix version: 5.0 and higher
The template to monitor IIS (Internet Information Services) by Zabbix that works without any external scripts.
This template was tested on:
See Zabbix template operation for basic instructions.
You have to enable the following Windows Features (Control Panel > Programs and Features > Turn Windows features on or off) on your server
Web Server (IIS)
Web Server (IIS)\Management Tools\IIS Management Scripts and Tools
Optionally, it is possible to customize the template:
No specific Zabbix configuration is required.
| Name | Description | Default |
|---|---|---|
| {$IIS.APPPOOL.MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
.+ |
| {$IIS.APPPOOL.MONITORED} | Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. "1" - enabled, "0" - disabled. |
1 |
| {$IIS.APPPOOL.NOT_MATCHES} | This macro is used in application pools discovery. Can be overridden on the host or linked template level. |
<CHANGE_IF_NEEDED> |
| {$IIS.PORT} | Listening port. |
80 |
| {$IIS.QUEUE.MAX.TIME} | The time during which the queue length may exceed the threshold. |
5m |
| {$IIS.QUEUE.MAX.WARN} | Maximum application pool's request queue length for trigger expression. |
`` |
| {$IIS.SERVICE} | The service (http/https/etc) for port check. See "net.tcp.service" documentation page for more information: https://www.zabbix.com/documentation/5.0/manual/config/items/itemtypes/simple_checks |
http |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Application pools discovery | - |
ZABBIX_ACTIVE | wmi.getall[root\webAdministration, select Name from ApplicationPool] Filter: AND- A: {#APPPOOL} NOT_MATCHES_REGEX - B: {#APPPOOL} MATCHES_REGEX |
| Group | Name | Description | Type | Key and additional info |
|---|---|---|---|---|
| IIS | IIS: World Wide Web Publishing Service (W3SVC) state | The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on "Windows Process Activation Service". |
ZABBIX_ACTIVE | service.info[W3SVC] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Windows Process Activation Service (WAS) state | Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains. |
ZABBIX_ACTIVE | service.info[WAS] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {$IIS.PORT} port ping | - |
SIMPLE | net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Uptime | Service uptime in seconds. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Service Uptime"] |
| IIS | IIS: Bytes Received per second | The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Bytes Received/sec", 60] |
| IIS | IIS: Bytes Sent per second | The average rate per minute at which data bytes are sent by the service. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Bytes Sent/sec", 60] |
| IIS | IIS: Bytes Total per second | The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec). |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Bytes Total/Sec", 60] |
| IIS | IIS: Current connections | The number of active connections. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Current Connections"] |
| IIS | IIS: Total connection attempts | The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Total Connection Attempts (all instances)"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Connection attempts per second | The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Connection Attempts/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Anonymous users per second | The number of requests from users over an anonymous connection per second. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Anonymous Users/sec", 60] |
| IIS | IIS: NonAnonymous users per second | The number of requests from users over a non-anonymous connection per second. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\NonAnonymous Users/sec", 60] |
| IIS | IIS: Method GET requests per second | The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Get Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method COPY requests per second | The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Copy Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method CGI requests per second | The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\CGI Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method DELETE requests per second | The rate of HTTP requests using the DELETE method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Delete Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method HEAD requests per second | The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Head Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method ISAPI requests per second | The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\ISAPI Extension Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method LOCK requests per second | The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Lock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MKCOL requests per second | The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Mkcol Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MOVE requests per second | The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Move Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method OPTIONS requests per second | The rate of HTTP requests using the OPTIONS method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Options Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method POST requests per second | Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Post Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPFIND requests per second | The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Propfind Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PROPPATCH requests per second | The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Proppatch Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method PUT requests per second | The rate of HTTP requests using the PUT method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Put Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method MS-SEARCH requests per second | The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Search Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the TRACE method made. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Trace Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method TRACE requests per second | The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Unlock Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total requests per second | The rate of all HTTP requests received. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Total Method Requests/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Method Total Other requests per second | Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Other Request Methods/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Locked errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Locked Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Not Found errors per second | The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service(_Total)\Not Found Errors/Sec", 60] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: Files cache hits percentage | The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\File Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URIs cache hits percentage | The ratio of user-mode URI Cache Hits to total cache requests (since service startup) |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\URI Cache Hits %"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: File cache misses | The total number of unsuccessful lookups in the user-mode file cache since service startup. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\File Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: URI cache misses | The total number of unsuccessful lookups in the user-mode URI cache since service startup. |
ZABBIX_ACTIVE | perf_counter_en["\Web Service Cache\URI Cache Misses"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: {#APPPOOL} Uptime | The web application uptime period since the last restart. |
ZABBIX_ACTIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"] |
| IIS | IIS: AppPool {#APPPOOL} state | The state of the application pool. |
ZABBIX_ACTIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} recycles | The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started. |
ZABBIX_ACTIVE | perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| IIS | IIS: AppPool {#APPPOOL} current queue size | The number of requests in the queue. |
ZABBIX_ACTIVE | perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
| Name | Description | Expression | Severity | Dependencies and additional info |
|---|---|---|---|---|
| IIS: The World Wide Web Publishing Service (W3SVC) is not running | The World Wide Web Publishing Service (W3SVC) is not in the running state. IIS cannot start. |
{TEMPLATE_NAME:service.info[W3SVC].last()}<>0 |
HIGH | Depends on: - IIS: Windows process Activation Service (WAS) is not running |
| IIS: Windows process Activation Service (WAS) is not running | Windows Process Activation Service (WAS) is not in the running state. IIS cannot start. |
{TEMPLATE_NAME:service.info[WAS].last()}<>0 |
HIGH | |
| IIS: Port {$IIS.PORT} is down | - |
{TEMPLATE_NAME:net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}].last()}=0 |
AVERAGE | Manual close: YES Depends on: - IIS: The World Wide Web Publishing Service (W3SVC) is not running |
| IIS: has been restarted (uptime < 10m) | Uptime is less than 10 minutes. |
{TEMPLATE_NAME:perf_counter_en["\Web Service(_Total)\Service Uptime"].last()}<10m |
INFO | Manual close: YES |
| IIS: {#APPPOOL} has been restarted (uptime < 10m) | Uptime is less than 10 minutes. |
{TEMPLATE_NAME:perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime"].last()}<10m |
INFO | Manual close: YES |
| IIS: Application pool {#APPPOOL} is not in Running state | - |
{TEMPLATE_NAME:perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Current Application Pool State"].last()}<>3 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
HIGH | |
| IIS: Application pool {#APPPOOL} has been recycled | - |
{TEMPLATE_NAME:perf_counter_en["\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles"].diff()}=1 and {$IIS.APPPOOL.MONITORED:"{#APPPOOL}"}=1 |
INFO | |
| IIS: Request queue of {#APPPOOL} is too large (over {$IIS.QUEUE.MAX.WARN}) | - |
{TEMPLATE_NAME:perf_counter_en["\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize"].min({$IIS.QUEUE.MAX.TIME})}>{$IIS.QUEUE.MAX.WARN} |
WARNING | Depends on: - IIS: Application pool {#APPPOOL} is not in Running state |
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
| Link | Source | Compatibility | Type, Technology | Created Updated | Rating |
|---|---|---|---|---|---|
| App IIS Service_RUS 16 Items, 4 Triggers 5 Graphs and 2 Screens built for IIS 7.5, 8.0, 8.5 and 10 Services, Ports and Performance Counters. Developed through "Template Windows 2008 R2 IIS Server_RUS" for RUSSIAN Location template_microsoft_iis_8,_8.5,_10_for_rus_server |
GitHub Community Templates |
5.0+ |
| ||
| Template for Microsoft Internet Information Services Set of performance counters for IIS monitoring github.com/rodrigoluissilva/Zabbix-Microsoft-IIS-Template |
GitHub |
Template perf_counter |
2016-10-19 2 y |