prometheus-community/windows_exporter

Prometheus exporter for Windows machines

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 34 minutes ago
Added to GitGenius on July 24th, 2022
Created on August 25th, 2016
Open Issues & Pull Requests: 20 (+0)
Number of forks: 780
Total Stargazers: 3,612 (+0)
Total Subscribers: 69 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 4.7 hours
Mean response time: 83.9 days
90th percentile: 68.3 days
Tracked items: 375

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Work labelled "❓ question" is answered fastest, typically in about 2 hours, while "keepalive" waits about 6 months. Only 8% of issues opened in the past year have been closed. Three people close 87% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 12
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 152 days
Stale 30+ days: 6
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 1
Events in 7 days: 2

Top labels

  • 🐞 bug (183)
  • Stale (145)
  • ❓ question (139)
  • ✨ enhancement (92)
  • info needed (19)
  • keepalive (13)
  • help wanted (8)
  • 📖 docs (7)

Detailed Description

The windows_exporter is a Prometheus exporter written in Go that enables monitoring of Windows machines by exposing Windows-specific metrics in Prometheus format. It serves as a bridge between Windows performance data and Prometheus monitoring infrastructure, allowing operators to collect and analyze Windows system metrics alongside other infrastructure monitoring data.

The exporter provides an extensive collection of specialized collectors that expose metrics from various Windows subsystems and services. The core collectors enabled by default include CPU usage, logical disk I/O, memory usage, network interface I/O, operating system information, physical disk metrics, service state, and system calls. Beyond these defaults, the exporter offers optional collectors for Active Directory services including Domain Services, Certificate Services, and Federation Services, as well as specialized collectors for enterprise applications like Exchange, SQL Server, and IIS. Additional collectors cover infrastructure components such as Hyper-V hosts, container metrics, DNS and DHCP servers, file server resource management quotas, and GPU metrics. The exporter also includes collectors for network protocols like SMB and TCP/UDP connections, system services like Windows Update and Time Service, and custom performance counters for extensibility.

The repository's contributor network overlaps with major projects including microsoft/vscode, microsoft/typescript, and rust-lang/rust, suggesting involvement from developers across the broader ecosystem.

Installation is straightforward with multiple deployment options. The project provides signed binaries and MSI installers for Windows, with the installer automatically configuring windows_exporter as a Windows service. The exporter listens on port 9182 by default and exposes metrics at the /metrics endpoint. Configuration is flexible, supporting both command-line flags and YAML configuration files, allowing operators to enable or disable specific collectors, customize listening addresses and ports, and configure collector-specific parameters. The MSI installer accepts parameters for customizing enabled collectors, configuration file paths, listening addresses and ports, metrics paths, and firewall exceptions. Docker deployment is also supported with container images available for containerized environments.

The exporter provides filtering capabilities for collectors through the collect parameter, enabling different Prometheus servers to scrape specific metrics from individual nodes. Global configuration flags control web server behavior, telemetry paths, scrape timeout margins, TLS and authentication settings, and logging output destinations. The project includes comprehensive documentation for each collector, detailing reported metrics, configuration settings, and usage examples. This modular architecture allows operators to tailor metric collection to their specific monitoring needs while maintaining compatibility with standard Prometheus scrape configurations.