SkyWalking leverages Prometheus windows_exporter to collect metrics data from the Windows and leverages OpenTelemetry Collector to transfer the metrics to
[OpenTelemetry receiver](opentelemetry-receiver.md) and into the [Meter System](./../../concepts-and-designs/meter.md).
Windows entity as a `Service` in OAP and on the `Layer: OS_WINDOWS`.
## Data flow
**For OpenTelemetry receiver:**
1. The Prometheus windows_exporter collects metrics data from the VMs.
2. The OpenTelemetry Collector fetches metrics from windows_exporter via Prometheus Receiver and pushes metrics to the SkyWalking OAP Server via the OpenCensus gRPC Exporter or OpenTelemetry gRPC exporter.
3. The SkyWalking OAP Server parses the expression with [MAL](../../concepts-and-designs/mal.md) to filter/calculate/aggregate and store the results.
2. Setup [OpenTelemetry Collector ](https://opentelemetry.io/docs/collector/). This is an example for OpenTelemetry Collector configuration [otel-collector-config.yaml](../../../../test/e2e-v2/cases/win/prometheus-windows_exporter/otel-collector-config.yaml).
| CPU Usage | % | meter_win_cpu_total_percentage | The total percentage usage of the CPU core. If there are 2 cores, the maximum usage is 200%. | Prometheus windows_exporter |
| Memory RAM Usage | MB | meter_win_memory_used | The total RAM usage | Prometheus windows_exporter |
| Memory Swap Usage | % | meter_win_memory_swap_percentage | The percentage usage of swap memory | Prometheus windows_exporter |
| CPU Average Used | % | meter_win_cpu_average_used | The percentage usage of the CPU core in each mode | Prometheus windows_exporter |
| Memory RAM | MB | meter_win_memory_total<br/>meter_win_memory_available<br/>meter_win_memory_used | The RAM statistics, including Total / Available / Used | Prometheus windows_exporter |
| Memory Swap | MB | meter_win_memory_swap_free<br/>meter_win_memory_swap_total | Swap memory statistics, including Free / Total | Prometheus windows_exporter | | The percentage usage of the file system at each mount point | Prometheus windows_exporter |
| Disk R/W | KB/s | meter_win_disk_read,meter_win_disk_written | The disk read and written | Prometheus windows_exporter |
| Network Bandwidth Usage | KB/s | meter_win_network_receive<br/>meter_win_network_transmit | The network receive and transmit | Prometheus windows_exporter | | The number of file descriptors allocated | Prometheus windows_exporter |
## Customizing
You can customize your own metrics/expression/dashboard panel.
The metrics definition and expression rules are found in `/config/otel-rules/windows.yaml`.
The dashboard panel confirmations are found in `/config/ui-initialized-templates/os_windows`.