Stackstate-IIS Integration

Overview

Connect IIS to Stackstate in order to:

  • Visualize your web server performance.
  • Correlate the performance of IIS with the rest of your applications.

Setup

Installation

  1. In order to be sure that IIS performance counters will be sent to WMI, resync the WMI counters.

    On Windows <= 2003 (or equivalent) run the following in cmd.exe:

    winmgmt /clearadap
    winmgmt /resyncperf
    

    On Windows >= 2008 (or equivalent) run the following in cmd.exe:

    winmgmt /resyncperf
    

Configuration

  1. Configure the Agent to connect to IIS. Edit conf.d/iis.yaml and add this server to instances with (optional) tags:

    init_config:
    
    instances:
      - host: . # "." means the current host
        tags:
          - mytag1
          - mytag2
    

  2. Restart the Agent using the Agent Manager (or restart the service)

Configuration Options

By default, this check will run against a single instance - the current machine that the Agent is running on. It will check the WMI performance counters for IIS on that machine.

If you want to check other remote machines as well, you can add one instance per host. Note: If you also want to check the counters on the current machine, you will haveto create an instance with empty params.

The optional provider parameter allows to specify a WMI provider (default to 32 on Stackstate Agent 32-bit or 64). It is used to request WMI data from the non-default provider. Available options are: 32 or 64. For more information, review this MSDN article.

The sites parameter allows you to specify a list of sites you want to read metrics from. With sites specified, metrics will be tagged with the site name. If you don’t define any sites, the check will pull the aggregate values across all sites.

Here’s an example of configuration that would check the current machine and a remote machine called MYREMOTESERVER. For the remote host we are only pulling metrics from the default site.

- host: .
  tags:
    - myapp1
  sites:
    - Default Web Site
- host: MYREMOTESERVER
  username: MYREMOTESERVER\fred
  password: mysecretpassword
  is_2008: false

  • is_2008 (Optional) - NOTE: because of a typo in IIS6/7 (typically on W2K8) where perfmon reports TotalBytesTransferred as TotalBytesTransfered, you may have to enable this to grab the IIS metrics in that environment.

Validation

Check the info page in the Agent Manager and verify that the integration check has passed. It should display a section similar to the following:

    Checks
    ======

      [...]

      iis
      ---
          - instance #0 [OK]
          - Collected 20 metrics & 0 events

Data Collected

Metrics

iis.uptime
(gauge)
The amount of time the IIS server has been running
shown as second
iis.net.bytes_sent
(gauge)
The number of bytes served per second
shown as byte
iis.net.bytes_rcvd
(gauge)
The number of bytes received per second
shown as byte
iis.net.bytes_total
(gauge)
The total number of bytes transferred per second
shown as byte
iis.net.num_connections
(gauge)
The number of active connections
shown as connection
iis.net.files_sent
(gauge)
The number of files sent per second
shown as file
iis.net.files_rcvd
(gauge)
The number of files received per second
shown as file
iis.net.connection_attempts
(gauge)
The number of connection attempts per second
shown as connection
iis.httpd_request_method.get
(gauge)
The number of GET requests per second
shown as request
iis.httpd_request_method.post
(gauge)
The number of POST requests per second
shown as request
iis.httpd_request_method.head
(gauge)
The number of HEAD requests per second
shown as request
iis.httpd_request_method.put
(gauge)
The number of PUT requests per second
shown as request
iis.httpd_request_method.delete
(gauge)
The number of DELETE requests per second
shown as request
iis.httpd_request_method.options
(gauge)
The number of OPTIONS requests per second
shown as request
iis.httpd_request_method.trace
(gauge)
The number of TRACE requests per second
shown as request
iis.errors.not_found
(gauge)
The number of not found errors per second (typically reported as an HTTP 404 response code)
shown as error
iis.errors.locked
(gauge)
The number of locked errors per second (typically reported as an HTTP 423 response code)
shown as error
iis.users.anon
(gauge)
The number of requests from users over an anonymous connection per second
shown as request
iis.users.nonanon
(gauge)
The number of requests from users over a non-anonymous connection per second
shown as request
iis.requests.cgi
(gauge)
The number of Common Gateway Interface requests executed per second
shown as request
iis.requests.isapi
(gauge)
The number of ISAPI requests executed per second
shown as request