IIS

Overview

This plugin collects runtime metrics from Microsoft IIS. The plugin requires Microsoft IIS Administration API to be installed and configured. Plugin gathers information about connections, requests, memory and network statistics, etc. for webserver, application pools and websites. For more information, please refer to IIS Administration API Monitoring.

Note

This plugin is currently available for x86_64 Linux and Windows platforms.

Setup

The iis plugin is included with the SolarWinds Snap Agent by default, please follow the directions below to enable it for a agent instance.

Prerequisites

This plugin require access token and optionally user credentials to gather status information using IIS Administration API. Please refer to IIS Administration API documentation on how to configure API access.

Configuration

The agent provides an example configuration file to help you get started quickly. It defines the plugin and task file to be loaded by the agent, but requires you to provide the correct settings for authentication. To enable the plugin:

  1. Make a copy of the iis example configuration file iis.yaml.example, renaming it to iis.yaml:

On Windows, using Explorer or PowerShell:

> copy "C:\ProgramData\SolarWinds\Snap\plugins.d\iis.yaml.example" "C:\ProgramData\SolarWinds\Snap\plugins.d\iis.yaml"

On Linux using command line:

$ sudo cp /opt/SolarWinds/Snap/etc/plugins.d/iis.yaml.example /opt/SolarWinds/Snap/etc/plugins.d/iis.yaml
  1. Update the iis.yaml configuration file with settings specific to your IIS instance, for example:
collector:
iis:
    all:
        url: "https://localhost:55539"
        token: "oolldxQpEvg3Vj_fRlhVF4-Z9IZgGf5bWM2M2cVEPi1TmOlzjFiGWw"
        username: ""
        password: ""
        domain: ""

load:
    plugin: snap-plugin-collector-aoiis.exe
    task: task-aoiis.yaml

Note

  • url specifies URL to connect with IIS Administration API
  • token configured in IIS Administration API for authentication
  • username
    • if left empty, token only authentication will be used
    • otherwise Microsoft Authentication will be used
  • password valid password associated with username
  • domain domain associated with username
  1. Restart the agent:

On Windows command line:

> net stop swisnapd
> net start swisnapd

On Linux command line:

$ sudo service swisnapd restart
  1. Enable the IIS plugin in the AppOptics UI

On the Integrations Page you will see the IIS plugin available if the previous steps were successful. If you do not see the plugin, see Troubleshooting.

Select the IIS plugin to open the configuration menu in the UI, and enable the plugin.

You should soon see the iis metrics reported to your dashboard.

Metrics and Tags

The tables below outline the default set of metrics collected by the iis plugin along with the optional metrics available.

Note

All metrics are int64 values collected either as a counter, gauge or derivative.

Default Metrics

By default, plugin collects selected Web Server metrics.

Namespace Description
iis.network.total_bytes_recv The number of bytes received since the web server started
iis.network.total_bytes_sent The number of bytes sent since the web server started
iis.network.total_connection_attempts The number of client connections that have been attempted since the web server started
iis.requests.total The number of requests that have been served since the web server started
iis.cpu.percent_usage The percentage of CPU being used by web server processes
iis.disk.io_write_operations_sec The number of write operations performed by all webserver processes in the last second
iis.disk.io_read_operations_sec The number of read operations performed by all webserver processes in the last second
iis.cache.output_cache_count Current number of items is in the output cache
iis.cache.file_cache_count Current number of files whose content is in the user-mode cache
iis.cache.uri_cache_count Number of URI information blocks that are currently in the user-mode cache

Default Metric Tags

All IIS metrics are tagged with hostname. Instead of using that tag, we recommend using the @host alias. Additionally, all IIS metrics are tagged with IIS webserver ID. Application Pool and Websites metrics are additionally tagged respectively with AppPoolId and WebSiteId .

Optional Metrics

Optinal metrics can be activated by editing the task yaml. For more information please read the SolarWinds Snap Agent configuration article.

Web Server Metrics

Namespace Description
iis.network.bytes_sent_sec The number of bytes that the web server sent in the last second
iis.network.bytes_recv_sec The number of bytes that the web server received in the last second
iis.network.connection_attempts_sec The number of client connections that have been attempted in the last second
iis.network.current_connections The number of active connections that are open on the web server
iis.requests.active The number of requests that are currently being processed by the web server
iis.requests.per_sec The number of requests that have been served in the past second
iis.memory.handles The number of handles that are currently open in web server processes
iis.memory.private_bytes The total private bytes being used by all web server processes
iis.memory.private_working_set The total private working set being used by all web server processes
iis.memory.system_in_use The total memory in use by the entire system
iis.memory.installed The total installed memory
iis.cpu.threads The number of threads currently active in web server processes
iis.cpu.processes The number of processes being used by the web server to process requests
iis.cpu.system_percent_usage The percentage of CPU being used by the entire system
iis.disk.page_faults_sec The number of page faults experienced by all webserver processes in the last second
iis.cache.file_cache_memory_usage Current number of bytes used for the user-mode file cache
iis.cache.file_cache_hits Number of successful lookups in the user-mode file cache since the web server starte
iis.cache.file_cache_misses Number of unsuccessful look ups in the user-mode file cache since the web server started
iis.cache.total_files_cached Number of files whose content was ever added to the user-mode cache since the web server started.
iis.cache.output_cache_memory_usage Current number of bytes used for the output cache
iis.cache.output_cache_hits Number of successful lookups in the output cache since the web server started
iis.cache.output_cache_misses Number of unsuccessful lookups in the output cache since the web server started
iis.cache.uri_cache_hits Number of successful look ups in the user-mode URI cache since the web server started
iis.cache.uri_cache_misses Number of unsuccessful look ups in the user-mode URI cache since the web server started
iis.cache.total_uris_cached Number of URI information blocks that have been added to the user-mode cache since the web server started

Website Metrics

Namespace Description
iis.website.uptime The number of seconds that have elapsed since the web site started
iis.website.network.bytes_sent_sec The number of bytes that the website sent in the last second
iis.website.network.bytes_recv_sec The number of bytes that the website received in the last second
iis.website.network.total_bytes_recv The number of bytes received since the website started
iis.website.network.total_bytes_sent The number of bytes sent since the website started
iis.website.network.total_connection_attempts The number of client connections that have been attempted since the website started
iis.website.network.current_connections The number of active connections that are open on the website
iis.website.requests.active The number of requests that are currently being processed by the website
iis.website.requests.per_sec The number of requests that have been served in the past second
iis.website.requests.total The number of requests that have been served since the website started
iis.website.memory.handles The number of handles that are currently open in website processes
iis.website.memory.private_bytes The total private bytes being used by all website processes
iis.website.memory.private_working_set The total private working set being used by all website processes
iis.website.memory.system_in_use The total memory in use by the entire system
iis.website.memory.installed The total installed memory
iis.website.cpu.threads The number of threads currently active in website processes
iis.website.cpu.processes The number of processes being used by the website to process requests
iis.website.cpu.percent_usage The percentage of CPU being used by website processes
iis.website.disk.io_write_operations_sec The number of write operations performed by all website processes in the last second
iis.website.disk.io_read_operations_sec The number of read operations performed by all website processes in the last second
iis.website.disk.page_faults_sec The number of page faults experienced by all website processes in the last second
iis.website.cache.file_cache_memory_usage Current number of bytes used for the user-mode file cache
iis.website.cache.file_cache_hits Number of successful lookups in the user-mode file cache since the website starte
iis.website.cache.file_cache_misses Number of unsuccessful look ups in the user-mode file cache since the website started
iis.website.cache.file_cache_count Current number of files whose content is in the user-mode cache
iis.website.cache.total_files_cached Number of files whose content was ever added to the user-mode cache since the website started.
iis.website.cache.output_cache_memory_usage Current number of bytes used for the output cache
iis.website.cache.output_cache_hits Number of successful lookups in the output cache since the website started
iis.website.cache.output_cache_misses Number of unsuccessful lookups in the output cache since the website started
iis.website.cache.output_cache_count Current number of items is in the output cache
iis.website.cache.uri_cache_hits Number of successful look ups in the user-mode URI cache since the website started
iis.website.cache.uri_cache_misses Number of unsuccessful look ups in the user-mode URI cache since the website started
iis.website.cache.uri_cache_count Number of URI information blocks that are currently in the user-mode cache
iis.website.cache.total_uris_cached Number of URI information blocks that have been added to the user-mode cache since the website started

Application Pool Metrics

Namespace Description
iis.app_pool.requests.active The number of requests that are currently being processed by the application pool
iis.app_pool.requests.per_sec The number of requests that have been served in the past second
iis.app_pool.requests.total The number of requests that have been served since the application pool started
iis.app_pool.memory.handles The number of handles that are currently open in application pool processes
iis.app_pool.memory.private_bytes The total private bytes being used by all application pool processes
iis.app_pool.memory.private_working_set The total private working set being used by all application pool processes
iis.app_pool.memory.system_in_use The total memory in use by the entire system
iis.app_pool.memory.installed The total installed memory
iis.app_pool.cpu.threads The number of threads currently active in application pool processes
iis.app_pool.cpu.processes The number of processes being used by the application pool to process requests
iis.app_pool.cpu.percent_usage The percentage of CPU being used by application pool processes
iis.app_pool.disk.io_write_operations_sec The number of write operations performed by all application pool processes in the last second
iis.app_pool.disk.io_read_operations_sec The number of read operations performed by all application pool processes in the last second
iis.app_pool.disk.page_faults_sec The number of page faults experienced by all application pool processes in the last second
iis.app_pool.cache.file_cache_memory_usage Current number of bytes used for the user-mode file cache
iis.app_pool.cache.file_cache_hits Number of successful lookups in the user-mode file cache since the application pool starte
iis.app_pool.cache.file_cache_misses Number of unsuccessful look ups in the user-mode file cache since the application pool started
iis.app_pool.cache.file_cache_count Current number of files whose content is in the user-mode cache
iis.app_pool.cache.total_files_cached Number of files whose content was ever added to the user-mode cache since the application pool started.
iis.app_pool.cache.output_cache_memory_usage Current number of bytes used for the output cache
iis.app_pool.cache.output_cache_hits Number of successful lookups in the output cache since the application pool started
iis.app_pool.cache.output_cache_misses Number of unsuccessful lookups in the output cache since the application pool started
iis.app_pool.cache.output_cache_count Current number of items is in the output cache
iis.app_pool.cache.uri_cache_hits Number of successful look ups in the user-mode URI cache since the application pool started
iis.app_pool.cache.uri_cache_misses Number of unsuccessful look ups in the user-mode URI cache since the application pool started
iis.app_pool.cache.uri_cache_count Number of URI information blocks that are currently in the user-mode cache
iis.app_pool.cache.total_uris_cached Number of URI information blocks that have been added to the user-mode cache since the application pool started