Skip to content

Latest commit

 

History

History
113 lines (81 loc) · 6.64 KB

windows-iis.md

File metadata and controls

113 lines (81 loc) · 6.64 KB

windows-iis

Monitor Type: windows-iis (Source)

Accepts Endpoints: No

Multiple Instances Allowed: No

Overview

(Windows Only) This monitor reports metrics for Windows Internet Information Services. It is used to drive the Windows IIS dashboard content.

Windows Performance Counters

The underlying source for these metrics are Windows Performance Counters. Most of the performance counters that we query in this monitor are actually Gauges that represent rates per second and percentages.

This monitor reports the instantaneous values for these Windows Performance Counters. This means that in between a collection interval, spikes could occur on the Performance Counters. The best way to mitigate this limitation is to increase the reporting interval on this monitor to collect more frequently.

Sample YAML configuration:

monitors:
 - type: windows-iis

Configuration

To activate this monitor in the Smart Agent, add the following to your agent config:

monitors:  # All monitor config goes under this key
 - type: windows-iis
   ...  # Additional config

For a list of monitor options that are common to all monitors, see Common Configuration.

Config option Required Type Description
counterRefreshInterval no int64 (Windows Only) Number of seconds that wildcards in counter paths should be expanded and how often to refresh counters from configuration. (default: 60s)
printValid no bool (Windows Only) Print out the configurations that match available performance counters. This used for debugging. (default: false)

Metrics

These are the metrics available for this monitor. Metrics that are categorized as container/host (default) are in bold and italics in the list below.

  • process.handle_count (gauge)
    The total number of handles currently open by this process. This number is equal to the sum of the handles currently open by each thread in this process.
  • process.id_process (gauge)
    The unique identifier of this process. ID Process numbers are reused, so they only identify a process for the lifetime of that process.
  • process.pct_processor_time (gauge)
    The percentage of elapsed time that all process threads used the processor to execution instructions. Code executed to handle some hardware interrupts and trap conditions are included in this count.
  • process.private_bytes (gauge)
    The current size, in bytes, of memory that this process has allocated that cannot be shared with other processes.
  • process.thread_count (gauge)
    The number of threads currently active in this process. Every running process has at least one thread.
  • process.virtual_bytes (gauge)
    The current size, in bytes, of the virtual address space the process is using. Use of virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space is finite, and the process can limit its ability to load libraries.
  • process.working_set (gauge)
    The current size, in bytes, of the Working Set of this process. The Working Set is the set of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold, pages are left in the Working Set of a process even if they are not in use. When free memory falls below a threshold, pages are trimmed from Working Sets. If they are needed, they will then be soft-faulted back into the Working Set before leaving main memory.
  • web_service.anonymous_users_sec (gauge)
    Rate at which users are making anonymous requests to the web service
  • web_service.bytes_received_sec (gauge)
    Rate that data is received by web service
  • web_service.bytes_sent_sec (gauge)
    Rate that data is sent by web service
  • web_service.connection_attempts_sec (gauge)
    Rate that connections to web service are attempted Requests
  • web_service.current_connections (gauge)
    Number of current connections to the web service
  • web_service.files_received_sec (gauge)
    Rate at which files are received by web service
  • web_service.files_sent_sec (gauge)
    Rate at which files are sent by web service
  • web_service.get_requests_sec (gauge)
    Rate of HTTP GET requests
  • web_service.isapi_extension_requests_sec (gauge)
    Rate of ISAPI extension request processed simultaneously by the web service
  • web_service.nonanonymous_users_sec (gauge)
    Rate at which users are making nonanonymous requests to the web service
  • web_service.not_found_errors_sec (gauge)
    Rate of 'Not Found' Errors
  • web_service.post_requests_sec (gauge)
    Rate of HTTP POST requests
  • web_service.service_uptime (gauge)
    Service uptime
  • web_service.total_method_requests_sec (gauge)
    Rate at which all HTTP requests are received

Non-default metrics (version 4.7.0+)

The following information applies to the agent version 4.7.0+ that has enableBuiltInFiltering: true set on the top level of the agent config.

To emit metrics that are not default, you can add those metrics in the generic monitor-level extraMetrics config option. Metrics that are derived from specific configuration options that do not appear in the above list of metrics do not need to be added to extraMetrics.

To see a list of metrics that will be emitted you can run agent-status monitors after configuring this monitor in a running agent instance.

Legacy non-default metrics (version < 4.7.0)

The following information only applies to agent version older than 4.7.0. If you have a newer agent and have set enableBuiltInFiltering: true at the top level of your agent config, see the section above. See upgrade instructions in Old-style whitelist filtering.

If you have a reference to the whitelist.json in your agent's top-level metricsToExclude config option, and you want to emit metrics that are not in that whitelist, then you need to add an item to the top-level metricsToInclude config option to override that whitelist (see Inclusion filtering. Or you can just copy the whitelist.json, modify it, and reference that in metricsToExclude.