windows_exporter/docs/collector.os.md

3.5 KiB

os collector

The os collector exposes metrics about the operating system

Metric name prefix os
Classes Win32_OperatingSystem
Enabled by default? Yes

Flags

None

Metrics

Name Description Type Labels
windows_os_info Contains full product name & version in labels. Note that the major_version for Windows 11 is "10"; a build number greater than 22000 represents Windows 11. gauge product, version, major_version, minor_version, build_number
windows_os_paging_limit_bytes Total number of bytes that can be stored in the operating system paging files. 0 (zero) indicates that there are no paging files gauge None
windows_os_paging_free_bytes Number of bytes that can be mapped into the operating system paging files without causing any other pages to be swapped out gauge None
windows_os_physical_memory_free_bytes Bytes of physical memory currently unused and available gauge None
windows_os_time Current time as reported by the operating system, in Unix time. See time.Unix() for details gauge None
windows_os_timezone Current timezone as reported by the operating system. See time.Zone() for details gauge timezone
windows_os_processes Number of process contexts currently loaded or running on the operating system gauge None
windows_os_processes_limit Maximum number of process contexts the operating system can support. The default value set by the provider is 4294967295 (0xFFFFFFFF) gauge None
windows_os_process_memory_limit_bytes Maximum number of bytes of memory that can be allocated to a process gauge None
windows_os_users Number of user sessions for which the operating system is storing state information currently. For a list of current active logon sessions, see logon gauge None
windows_os_virtual_memory_bytes Bytes of virtual memory gauge None
windows_os_visible_memory_bytes Total bytes of physical memory available to the operating system. This value does not necessarily indicate the true amount of physical memory, but what is reported to the operating system as available to it gauge None
windows_os_virtual_memory_free_bytes Bytes of virtual memory currently unused and available gauge None

Example metric

Show current number of processes

windows_os_processes{instance="localhost"}

Useful queries

Find all devices not set to UTC timezone

windows_os_timezone{timezone != "UTC"}

Show memory usage for instance (%)

100 - 100 * windows_os_physical_memory_free_bytes{instance="localhost"} / windows_cs_physical_memory_bytes{instance="localhost"}

Alerting examples

prometheus.rules

# Alert on hosts that have exhausted all available physical memory
- alert: MemoryExhausted
  expr: windows_os_physical_memory_free_bytes == 0
  for: 10m
  labels:
    severity: high
  annotations:
    summary: "Host {{ $labels.instance }} is out of memory"
    description: "{{ $labels.instance }} has exhausted all available physical memory"

# Alert on hosts with greater than 90% memory usage
- alert: MemoryLow
  expr: 100 - 100 * windows_os_physical_memory_free_bytes / windows_cs_physical_memory_bytes > 90
  for: 10m
  labels:
    severity: warning
  annotations:
    summary: "Memory usage for host {{ $labels.instance }} is greater than 90%"