2020-05-24 18:47:16 +00:00
# windows_exporter
2016-08-26 09:08:12 +00:00
2020-06-02 13:17:56 +00:00
[![Build status ](https://ci.appveyor.com/api/projects/status/xoym3fftr7giasiw/branch/master?svg=true )](https://ci.appveyor.com/project/prometheus-community/windows-exporter)
2016-08-27 10:59:57 +00:00
2020-05-24 18:47:16 +00:00
A Prometheus exporter for Windows machines.
2016-08-26 09:08:12 +00:00
## Collectors
2016-10-14 08:19:57 +00:00
Name | Description | Enabled by default
---------|-------------|--------------------
2018-11-18 21:26:38 +00:00
[ad ](docs/collector.ad.md ) | Active Directory Domain Services |
2019-09-17 11:39:48 +00:00
[adfs ](docs/collector.adfs.md ) | Active Directory Federation Services |
2018-11-18 21:26:38 +00:00
[cpu ](docs/collector.cpu.md ) | CPU usage | ✓
[cs ](docs/collector.cs.md ) | "Computer System" metrics (system properties, num cpus/total memory) | ✓
2019-07-20 16:19:40 +00:00
[container ](docs/collector.container.md ) | Container metrics |
2020-07-03 17:21:28 +00:00
[dhcp ](docs/collector.dhcp.md ) | DHCP Server |
2018-11-18 21:26:38 +00:00
[dns ](docs/collector.dns.md ) | DNS Server |
2020-05-24 16:05:27 +00:00
[exchange ](docs/collector.exchange.md ) | Exchange metrics |
2020-06-07 15:40:55 +00:00
[fsrmquota ](docs/collector.fsrmquota.md ) | Microsoft File Server Resource Manager (FSRM) Quotas collector |
2018-11-18 21:26:38 +00:00
[hyperv ](docs/collector.hyperv.md ) | Hyper-V hosts |
[iis ](docs/collector.iis.md ) | IIS sites and applications |
[logical_disk ](docs/collector.logical_disk.md ) | Logical disks, disk I/O | ✓
2019-08-20 12:26:43 +00:00
[logon ](docs/collector.logon.md ) | User logon sessions |
2018-11-18 17:24:58 +00:00
[memory ](docs/collector.memory.md ) | Memory usage metrics |
2018-11-18 21:26:38 +00:00
[msmq ](docs/collector.msmq.md ) | MSMQ queues |
[mssql ](docs/collector.mssql.md ) | [SQL Server Performance Objects ](https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/use-sql-server-objects#SQLServerPOs ) metrics |
2018-12-05 00:48:23 +00:00
[netframework_clrexceptions ](docs/collector.netframework_clrexceptions.md ) | .NET Framework CLR Exceptions |
[netframework_clrinterop ](docs/collector.netframework_clrinterop.md ) | .NET Framework Interop Metrics |
[netframework_clrjit ](docs/collector.netframework_clrjit.md ) | .NET Framework JIT metrics |
[netframework_clrloading ](docs/collector.netframework_clrloading.md ) | .NET Framework CLR Loading metrics |
[netframework_clrlocksandthreads ](docs/collector.netframework_clrlocksandthreads.md ) | .NET Framework locks and metrics threads |
[netframework_clrmemory ](docs/collector.netframework_clrmemory.md ) | .NET Framework Memory metrics |
[netframework_clrremoting ](docs/collector.netframework_clrremoting.md ) | .NET Framework Remoting metrics |
[netframework_clrsecurity ](docs/collector.netframework_clrsecurity.md ) | .NET Framework Security Check metrics |
2018-12-05 00:42:30 +00:00
[net ](docs/collector.net.md ) | Network interface I/O | ✓
2018-11-18 21:26:38 +00:00
[os ](docs/collector.os.md ) | OS metrics (memory, processes, users) | ✓
[process ](docs/collector.process.md ) | Per-process metrics |
2020-04-23 10:17:17 +00:00
[remote_fx ](docs/collector.remote_fx.md ) | RemoteFX protocol (RDP) metrics |
2018-11-18 16:05:37 +00:00
[service ](docs/collector.service.md ) | Service state metrics | ✓
2018-11-18 21:26:38 +00:00
[system ](docs/collector.system.md ) | System calls | ✓
[tcp ](docs/collector.tcp.md ) | TCP connections |
2019-07-12 18:54:20 +00:00
[thermalzone ](docs/collector.thermalzone.md ) | Thermal information
2020-04-23 10:17:17 +00:00
[terminal_services ](docs/collector.terminal_services.md ) | Terminal services (RDS)
2018-11-18 16:05:37 +00:00
[textfile ](docs/collector.textfile.md ) | Read prometheus metrics from a text file | ✓
[vmware ](docs/collector.vmware.md ) | Performance counters installed by the Vmware Guest agent |
See the linked documentation on each collector for more information on reported metrics, configuration settings and usage examples.
2016-08-26 09:08:12 +00:00
2020-07-10 11:52:24 +00:00
## Flags
windows_exporter accepts flags to configure certain behaviours. The ones configuring the global behaviour of the exporter are listed below, while collector-specific ones are documented in the respective collector documentation above.
Flag | Description | Default value
---------|-------------|--------------------
`--telemetry.addr` | host:port for exporter. | `:9182`
`--telemetry.path` | URL path for surfacing collected metrics. | `/metrics`
`--telemetry.max-requests` | Maximum number of concurrent requests. 0 to disable. | `5`
`--collectors.enabled` | Comma-separated list of collectors to use. Use `[defaults]` as a placeholder for all the collectors enabled by default." | `[defaults]`
`--collectors.print` | If true, print available collectors and exit. |
`--scrape.timeout-margin` | Seconds to subtract from the timeout allowed by the client. Tune to allow for overhead or high loads. | `0.5`
2016-09-16 06:36:58 +00:00
## Installation
2020-05-24 18:47:16 +00:00
The latest release can be downloaded from the [releases page ](https://github.com/prometheus-community/windows_exporter/releases ).
2017-05-22 17:17:31 +00:00
2020-05-24 18:47:16 +00:00
Each release provides a .msi installer. The installer will setup the windows_exporter as a Windows service, as well as create an exception in the Windows Firewall.
2016-09-16 06:36:58 +00:00
If the installer is run without any parameters, the exporter will run with default settings for enabled collectors, ports, etc. The following parameters are available:
Name | Description
-----|------------
2017-08-12 06:56:09 +00:00
`ENABLED_COLLECTORS` | As the `--collectors.enabled` flag, provide a comma-separated list of enabled collectors
2016-09-16 06:36:58 +00:00
`LISTEN_ADDR` | The IP address to bind to. Defaults to 0.0.0.0
`LISTEN_PORT` | The port to bind to. Defaults to 9182.
`METRICS_PATH` | The path at which to serve metrics. Defaults to `/metrics`
2018-04-03 19:37:10 +00:00
`TEXTFILE_DIR` | As the `--collector.textfile.directory` flag, provide a directory to read text files with metrics from
2020-09-28 13:37:48 +00:00
`REMOTE_ADDR` | Allows setting comma separated remote IP addresses for the Windows Firewall exception (whitelist). Defaults to an empty string (any remote address).
2018-11-29 19:14:37 +00:00
`EXTRA_FLAGS` | Allows passing full CLI flags. Defaults to an empty string.
2016-09-16 06:36:58 +00:00
2018-11-29 19:14:37 +00:00
Parameters are sent to the installer via `msiexec` . Example invocations:
2016-09-16 06:36:58 +00:00
```powershell
msiexec /i < path-to-msi-file > ENABLED_COLLECTORS=os,iis LISTEN_PORT=5000
```
2016-08-26 09:08:12 +00:00
2018-11-29 19:14:37 +00:00
Example service collector with a custom query.
```powershell
msiexec /i < path-to-msi-file > ENABLED_COLLECTORS=os,service --% EXTRA_FLAGS="--collector.service.services-where ""Name LIKE 'sql%'"""
```
2019-09-25 19:48:36 +00:00
On some older versions of Windows you may need to surround parameter values with double quotes to get the install command parsing properly:
```powershell
2020-05-24 18:47:16 +00:00
msiexec /i C:\Users\Administrator\Downloads\windows_exporter.msi ENABLED_COLLECTORS="ad,iis,logon,memory,process,tcp,thermalzone" TEXTFILE_DIR="C:\custom_metrics\"
2019-09-25 19:48:36 +00:00
```
2016-08-26 10:53:22 +00:00
## Roadmap
2016-08-26 09:35:31 +00:00
2020-05-24 18:47:16 +00:00
See [open issues ](https://github.com/prometheus-community/windows_exporter/issues )
2016-08-26 09:35:31 +00:00
2016-08-26 13:06:10 +00:00
2016-08-27 09:39:21 +00:00
## Usage
2017-08-10 00:14:06 +00:00
go get -u github.com/prometheus/promu
2020-05-24 18:47:16 +00:00
go get -u github.com/prometheus-community/windows_exporter
cd $env:GOPATH/src/github.com/prometheus-community/windows_exporter
2020-07-05 22:17:02 +00:00
promu build -v
2020-05-24 18:47:16 +00:00
.\windows_exporter.exe
2016-08-27 09:39:21 +00:00
2016-08-27 12:49:34 +00:00
The prometheus metrics will be exposed on [localhost:9182 ](http://localhost:9182 )
2016-08-27 09:39:21 +00:00
2017-08-10 22:31:39 +00:00
## Examples
### Enable only service collector and specify a custom query
2020-05-24 18:47:16 +00:00
.\windows_exporter.exe --collectors.enabled "service" --collector.service.services-where "Name='windows_exporter'"
2017-08-10 00:07:52 +00:00
### Enable only process collector and specify a custom query
2020-05-24 18:47:16 +00:00
.\windows_exporter.exe --collectors.enabled "process" --collector.process.whitelist="firefox.+"
2017-08-12 06:56:09 +00:00
2020-04-03 18:49:11 +00:00
When there are multiple processes with the same name, WMI represents those after the first instance as `process-name#index` . So to get them all, rather than just the first one, the [regular expression ](https://en.wikipedia.org/wiki/Regular_expression ) must use `.+` . See [process ](docs/collector.process.md ) for more information.
2018-08-28 06:58:08 +00:00
2017-08-10 00:07:52 +00:00
2016-08-26 09:08:12 +00:00
## License
Under [MIT ](LICENSE )