Skip to main content

Windows - Processes (WMI)

Description

Monitors essential performance metrics of any Windows system through WMI, following OpenTelemetry semantic conventions.

system windows

Target

Typical platform: Microsoft Windows

Operating system: Microsoft Windows

Prerequisites

Leverages: WMI

Technology and protocols: WMI

Variables:

  • matchName: Regular expression pattern to match process names for monitoring. (default: .*)
  • matchCommand: Regular expression pattern to match process command lines for monitoring. (default: .*)
  • matchDomain: Regular expression pattern to match domain names for monitoring. (default: .*)
  • matchUser: Regular expression pattern to match user names for monitoring. (default: .*)

Examples

CLI

metricshub HOSTNAME -t win -c +WindowsProcess --wmi -u USER

metricshub.yaml

resourceGroups:
<RESOURCE_GROUP>:
resources:
<HOSTNAME-ID>:
attributes:
host.name: <HOSTNAME> # Change with actual host name
host.type: win
connectors: [ +WindowsProcess ] # Optional, to load only this connector
protocols:
wmi:
username: <USERNAME> # Change with actual credentials
password: <PASSWORD> # Encrypted using metricshub-encrypt
additionalConnectors:
WindowsProcess: # Unique ID. Use 'uses' if different from the original connector ID
uses: WindowsProcess # Optional - Original ID if not in key
force: true # Optional (default: true); false for auto-detection only
variables:
matchName: <VALUE> # Replace with desired value.
matchCommand: <VALUE> # Replace with desired value.
matchDomain: <VALUE> # Replace with desired value.
matchUser: <VALUE> # Replace with desired value.

Connector Activation Criteria

The Windows - Processes (WMI) connector must be selected manually, and its status will be reported as OK if all the below criteria are met:

  • The WMI query below succeeds:
    • Namespace: root\CIMv2
    • Query: SELECT Name FROM Win32_OperatingSystem

Metrics

TypeCollected MetricsSpecific Attributes
processprocess.cpu.time
process.cpu.utilization
process.disk.io{disk.io.direction="read"}
process.disk.io{disk.io.direction="write"}
process.disk.operations{disk.io.direction="read"}
process.disk.operations{disk.io.direction="write"}
process.handle.count
process.memory.usage
process.memory.virtual
process.paging.faults
process.thread.count
id
process.id
process.match.command
process.match.domain
process.match.name
process.match.user
process.name
process.parent.id