Deploy Windows Exporter on an ECS instance and enable the Windows integration in ARMS to collect and visualize CPU, memory, disk, and network metrics with pre-built dashboards and alert rules.
How it works
-
Windows Exporter runs on the ECS instance and exposes system metrics on an HTTP port (default:
9182). -
The Windows component in ARMS discovers the instance and scrapes metrics at a configured interval.
-
Pre-built dashboards in the ARMS console visualize CPU, memory, disk, and network data.
Prerequisites
Make sure that:
-
A Windows Server ECS instance is deployed in a VPC.
-
You have administrator access to the Windows instance.
-
Access to the ARMS console
Step 1: (Optional) Install Windows Exporter
ARMS supports two deployment methods. To use automatic installation, skip to Step 2. The system installs and configures the exporter based on service discovery rules.
| Method | When to use |
|---|---|
| Automatic (recommended) | Let ARMS install and configure the exporter based on service discovery conditions. No manual setup required. |
| Manual | Install the exporter yourself when you need to control the configuration before connecting to ARMS. |
To install Windows Exporter manually:
-
Log on to the ECS instance as an administrator.
-
Download the Windows Exporter installation package (
windows_exporter-1.22.0-amd64.msi). -
Double-click the
.msifile or run the following command. Available MSI installer parameters: Example with a custom port and specific collectors:Parameter Description Default value ENABLED_COLLECTORSComma-separated list of metric collectors to enable cpu, cpu_info, memory, process, tcp, cs, logical_disk, net, os, system, textfile, time LISTEN_PORTPort that the exporter listens on 9182LISTEN_ADDRIP address to bind to Empty (all local addresses) METRICS_PATHHTTP path at which metrics are served /metricsTEXTFILE_DIRSDirectories containing custom textfile collector files None CONFIG_FILEPath to a YAML configuration file None Installation directory -- C:\Program Files (x86)\windows_exportermsiexec /i windows_exporter-1.22.0-amd64.msimsiexec /i windows_exporter-1.22.0-amd64.msi LISTEN_PORT="9183" ENABLED_COLLECTORS="cpu,memory,logical_disk,net,os,system" -
Verify the exporter is running. Open a browser or run the following command and confirm that Prometheus-format metrics are returned: Expected output: You can also check Windows Console (Services) to confirm the windows_exporter service is Running.
curl localhost:9182/metrics# HELP windows_os_info OperatingSystem.Caption, OperatingSystem.Version # TYPE windows_os_info gauge windows_os_info{product="Windows Server 2019 Datacenter",version="10.0.17763"} 1 # HELP windows_cpu_time_total Time that processor spent in different modes (dpc, idle, interrupt, privileged, user) # TYPE windows_cpu_time_total counter windows_cpu_time_total{core="0,0",mode="dpc"} 4.421875 ... -
(Optional) Edit the
config.ymlfile to change the port or collectors. The Windows Exporter documentation covers all configuration options. Restart the service after saving:sc stop windows_exporter && sc start windows_exporter
Step 2: Enable the Windows component
-
Log on to the Managed Service for Prometheus console.
-
In the left-side navigation pane, click Integration Center.
-
Search for Windows and click it.

-
On the Start Integration tab, configure the following parameters and click OK.
Parameter Description Select the environment type Valid value: ECS(VPC). WindowsExporter Installation Mode Select Automatic Installation to let ARMS deploy the exporter, or Self Installation if you completed Step 1. Host Service Discovery Mode Options: Unconditional (Select all Windows instances in the current VPC), Stain Label Selection, Tag Label Selection, IP CIDR, or Instance ID. Collect TextFile Absolute path to a textfile collector directory. Environment variables are not supported. Example: /home/app/textfiles.Windows-Exporter Service port Port that Windows Exporter listens on. Pre-filled with 9182.Security Groups Are Automatically Configured ARMS verifies that the exporter port is open in the ECS security group and adds inbound rules if needed. Custom ECS Tag Injection ECS tag keys to inject into scraped metrics as labels. Metric Scrape interval (unit/second) Scrape interval. Default: 15seconds.
Step 3: View Windows dashboards
After the integration is enabled, ARMS creates pre-built dashboards for the monitored instance.
-
In the left-side navigation pane of the Managed Service for Prometheus console, click Integration Management.
-
On the Integrated Environments tab, click the name of your ECS instance.

-
On the Component Management tab, in the Addon Type section, click Windows, then click Dashboards.

-
Click a dashboard name to open it.

Step 4: Configure alerting
Set up alert rules to get notified when metrics such as CPU usage, available memory, or disk space cross thresholds.
Default metric collectors
The following collectors are enabled by default.
| Collector | Description | Example metrics |
|---|---|---|
| cpu | CPU usage per core and mode | windows_cpu_time_total |
| cpu_info | CPU hardware information | windows_cpu_info |
| memory | Physical and virtual memory usage | windows_memory_physical_free_bytes, windows_memory_physical_total_bytes |
| process | Per-process resource usage | windows_process_cpu_time_total |
| tcp | TCP connection statistics | windows_tcp_connections_established |
| cs | Computer system properties | windows_cs_hostname |
| logical_disk | Disk I/O and free space per volume | windows_logical_disk_free_bytes, windows_logical_disk_size_bytes |
| net | Network interface throughput | windows_net_bytes_received_total, windows_net_bytes_sent_total |
| os | Operating system metadata | windows_os_info |
| system | System-level counters (context switches, threads) | windows_system_boot_time_timestamp |
| textfile | Custom metrics from text files | (user-defined) |
| time | System clock and NTP offset | windows_time_computed_time_offset_seconds |
To add collectors, edit config.yml and restart the service. The Windows Exporter documentation lists all available collectors.