Releases: prometheus-community/windows_exporter
v0.30.0-beta.1
Technical Preview
windows_exporter is undergoing a modernization. We plan to deliver a stable release by mid-2025, with upcoming changes—including a newly designed Hyper-V collector—adding value to the official 1.0 stable release.
Windows Management Infrastructure (MI) as a Replacement for Windows Management Instrumentation (WMI)
As of version 0.30.0, windows_exporter no longer uses WMI directly. Instead, it utilizes its successor, Windows Management Infrastructure (MI), available since Windows Server 2012. MI offers several advantages, such as the ability to run queries in parallel.
Performance Data Helpers
When the environment variable WINDOWS_EXPORTER_PERF_COUNTERS_ENGINE=pdh or CLI flag --perfcounter.engine=pdh
is set, windows_exporter uses Performance Data Helpers instead of the Registry. This change also introduces support for Process V2, which is enabled by default on Windows Server 2022.
What's Changed
💥 Breaking Changes
- *: replace
--collectors.[name].*
with--collector.[name].*
flags (click PR number for more information) by @jkroepke in #1659 - *: Remove
teradici_pcoip
andvmware_blast
collector by @jkroepke in #1686 - logon: BREAKING: replace wmi query by Win32 API calls and expose detailed logon sessions. (click PR for more information) by @jkroepke in #1687
- chore: Switch to hostprocess base image and add support for Windows Server 2025 on Kubernetes (click PR number for more information) by @jkroepke in #1731
- pagefile: BREAKING: move paging metrics from os to dedicated collector (click PR for more information) by @jkroepke in #1735
✨ Exciting New Features
- updates: add windows update collector by @jkroepke in #1652
- tcp: use GetExtendedTcpTable to display states Closed, Listening, SynSent, SynRcvd, CloseWait, TimeWait ... by @astigmata in #1638
- net: expose network interfaces address by @jkroepke in #1635
- chore: Move private packages to internal by @jkroepke in #1664
- process: Implement PDH collector and add support for Process V2 by @jkroepke in #1666
- exchange: Use new collector interface by @jkroepke in #1685
- mi: replace all WMI calls with MI calls by @jkroepke in #1714
- feat: add perfcounter.engine CLI option as alternative to WINDOWS_EXPORTER_PERF_COUNTERS_ENGINE env by @jkroepke in #1723
- udp: Added UDP collector by @jkroepke in #1725
- vmware: refactor collector by @jkroepke in #1727
- time: refactor collector by @jkroepke in #1728
- terminal_services: refactor collector by @jkroepke in #1729
- system: refactor collector by @jkroepke in #1730
- physical_disk: refactor collector by @jkroepke in #1734
🐞 Bug Fixes
- scheduled_task: fix memory leaks by @jkroepke in #1649
- collector: add stack trace, if collector panics by @jkroepke in #1650
- initiate: fix Cannot create another system semaphore error by @jkroepke in #1653
- initiate: close event log handle by @jkroepke in #1654
- cpu: add workaround for counter resets related to
% Processor Utility
metric by @jkroepke in #1637 - *: don't exclude resources, if empty exclude is empty. by @jkroepke in #1680
- update: rename
updates
collector toupdate
by @jkroepke in #1692 - fix: fail, if unknown collector is defined in enabled list by @jkroepke in #1693
- tcp: fix panic on collector by @jkroepke in #1699
🛠️ Dependencies
- chore(deps): bump golang.org/x/sys from 0.25.0 to 0.26.0 by @dependabot in #1675
- chore(deps): bump github.com/prometheus/common from 0.59.2-0.20240918152650-14bac55a992f to 0.60.0 by @dependabot in #1674
- chore(deps): bump github.com/bmatcuk/doublestar/v4 from 4.6.1 to 4.7.1 by @dependabot in #1689
- chore(deps): bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 by @dependabot in #1701
- chore(deps): bump github.com/prometheus/common from 0.60.0 to 0.60.1 by @dependabot in #1708
- chore(deps): bump github.com/Microsoft/hcsshim from 0.12.7 to 0.12.8 by @dependabot in #1707
- chore(deps): bump github.com/prometheus/exporter-toolkit from 0.13.0 to 0.13.1 by @dependabot in #1717
- chore(deps): bump github.com/Microsoft/hcsshim from 0.12.8 to 0.12.9 by @dependabot in #1716
- chore(deps): bump golang.org/x/sys from 0.26.0 to 0.27.0 by @dependabot in #1724
📖 Documentation
- docs: fix link to update collector by @ehrenfeu in #1682
- docs: add actual Windows Update service name by @ehrenfeu in #1690
- docs: Add log.file argument to README by @PolygonError in #1702
- docs: Update textfile collector defaults inclusion by @yangskyboxlabs in #1722
Other Changes
New Contributors
- @astigmata made their first contribution in #1638
- @ehrenfeu made their first contribution in #1682
- @PolygonError made their first contribution in #1702
- @yangskyboxlabs made their first contribution in #1722
Full Changelog: v0.29.2...v0.30.0-beta.1
v0.30.0-beta.0
Technical Preview
windows_exporter is undergoing a modernization. We plan to deliver a stable release by mid-2025, with upcoming changes—including a newly designed Hyper-V collector—adding value to the official 1.0 stable release.
Windows Management Infrastructure (MI) as a Replacement for Windows Management Instrumentation (WMI)
As of version 0.30.0, windows_exporter no longer uses WMI directly. Instead, it utilizes its successor, Windows Management Infrastructure (MI), available since Windows Server 2012. MI offers several advantages, such as the ability to run queries in parallel.
Performance Data Helpers
When the environment variable WINDOWS_EXPORTER_PERF_COUNTERS_ENGINE=pdh
is set, windows_exporter uses Performance Data Helpers instead of the Registry. This change also introduces support for Process V2, which is enabled by default on Windows Server 2022.
What's Changed
💥 Breaking Changes
- *: replace
--collectors.[name].*
with--collector.[name].*
flags (click PR number for more information) by @jkroepke in #1659 - *: Remove
teradici_pcoip
andvmware_blast
collector by @jkroepke in #1686 - logon: BREAKING: replace wmi query by Win32 API calls and expose detailed logon sessions. (click PR for more information) by @jkroepke in #1687
✨ Exciting New Features
- updates: add windows update collector by @jkroepke in #1652
- tcp: use GetExtendedTcpTable to display states Closed, Listening, SynSent, SynRcvd, CloseWait, TimeWait ... by @astigmata in #1638
- net: expose network interfaces address by @jkroepke in #1635
- chore: Move private packages to internal by @jkroepke in #1664
- process: Implement PDH collector and add support for Process V2 by @jkroepke in #1666
- exchange: Use new collector interface by @jkroepke in #1685
- mi: replace all WMI calls with MI calls by @jkroepke in #1714
🐞 Bug Fixes
- scheduled_task: fix memory leaks by @jkroepke in #1649
- collector: add stack trace, if collector panics by @jkroepke in #1650
- initiate: fix Cannot create another system semaphore error by @jkroepke in #1653
- initiate: close event log handle by @jkroepke in #1654
- cpu: add workaround for counter resets related to
% Processor Utility
metric by @jkroepke in #1637 - *: don't exclude resources, if empty exclude is empty. by @jkroepke in #1680
- update: rename
updates
collector toupdate
by @jkroepke in #1692 - fix: fail, if unknown collector is defined in enabled list by @jkroepke in #1693
- tcp: fix panic on collector by @jkroepke in #1699
🛠️ Dependencies
- chore(deps): bump golang.org/x/sys from 0.25.0 to 0.26.0 by @dependabot in #1675
- chore(deps): bump github.com/prometheus/common from 0.59.2-0.20240918152650-14bac55a992f to 0.60.0 by @dependabot in #1674
- chore(deps): bump github.com/bmatcuk/doublestar/v4 from 4.6.1 to 4.7.1 by @dependabot in #1689
- chore(deps): bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 by @dependabot in #1701
- chore(deps): bump github.com/prometheus/common from 0.60.0 to 0.60.1 by @dependabot in #1708
- chore(deps): bump github.com/Microsoft/hcsshim from 0.12.7 to 0.12.8 by @dependabot in #1707
- chore(deps): bump github.com/prometheus/exporter-toolkit from 0.13.0 to 0.13.1 by @dependabot in #1717
- chore(deps): bump github.com/Microsoft/hcsshim from 0.12.8 to 0.12.9 by @dependabot in #1716
📖 Documentation
- docs: fix link to update collector by @ehrenfeu in #1682
- docs: add actual Windows Update service name by @ehrenfeu in #1690
- docs: Add log.file argument to README by @PolygonError in #1702
- docs: Update textfile collector defaults inclusion by @yangskyboxlabs in #1722
New Contributors
- @astigmata made their first contribution in #1638
- @ehrenfeu made their first contribution in #1682
- @PolygonError made their first contribution in #1702
- @yangskyboxlabs made their first contribution in #1722
Full Changelog: v0.29.2...v0.30.0-beta.0
v0.28.2
v0.27.3
v0.29.2
v0.29.1
What's Changed
✨ Exciting New Features
🐞 Bug Fixes
- installer: create config file, if config file location is customized by @jkroepke in #1642
- collector: fix flapping metrics if process is enabled. by @jkroepke in #1643
📖 Documentation
Full Changelog: v0.29.0...v0.29.1
v0.29.0
What's Changed
💥 Breaking Changes
- installer: Add UI + Add default config file + Replace
ADD_FIREWALL_EXCEPTION
withADDLOCAL=FirewallException
by @jkroepke in #1611 - service: refactor collector (click PR for more information) by @jkroepke in #1584
- netframework: merge multiple collector into one (click PR for more information) by @jkroepke in #1633
✨ Exciting New Features
- perfdata: add experimental generic collector by @jkroepke in #1459
- cs: Deprecate collector + os: Deprecate metrics [memory metrics moved to memory collector] (click PR for more information) by @jkroepke in #1596
🐞 Bug Fixes
- dfsr: Fix DFS Replication Service Volumes collector by @jkroepke in #1595
- collector: Skip collecting performance data if the enabled collectors don't request any. by @jkroepke in #1604
- container: do not fail hard, if single containers can't be scraped by @jkroepke in #1561
🛠️ Dependencies
- chore(deps): bump github.com/prometheus/common from 0.55.0 to 0.57.0 by @dependabot in #1603
📖 Documentation
Full Changelog: v0.28.1...v0.29.0