Files
windows_exporter/docs/runbooks/windowsnetworkutilizationhigh.md
T
Jan-Otto Kröpke ae5d0cca2a mixin: group alerts by collector area and add tier 1 alerts
The alerts of the mixin now come in one rule group per collector area
(windows-exporter, windows-cpu, windows-memory, windows-disk,
windows-network, windows-service, windows-system, windows-active-directory,
windows-time). Every alert names the collectors it reads and is generated
only when _config.collectors enables them, the same switch the dashboard
uses; enableActiveDirectory and enableTime set collectors.ad and
collectors.time. _config.alerts switches single alerts off by name, and an
unknown name fails the build.

New alerts for the default collectors: WindowsCollectorTimeout,
WindowsScrapeQueueTimeout, WindowsCPUSaturation (processor queue per core),
WindowsMemoryPagingHigh, WindowsNetworkUtilizationHigh,
WindowsNetworkInterfaceFlapping, WindowsServiceNotRunning (automatic
services without triggers), WindowsServiceCrashLooping (processes per
service in 15 minutes) and WindowsHostRebooted (info, fires once per
reboot). WindowsNetworkErrors and WindowsNetworkDiscards compare the error
and discard rates with the packet rate (networkErrorRatioThreshold and
networkDiscardRatioThreshold, in percent) instead of an absolute packet
rate. Threshold alerts set keep_firing_for from keepFiringFor (5m); the new
infoSeverity and serviceSelector knobs follow the existing ones.

New recordings: windows:cpu_queue_per_core:ratio,
windows:net_received_packets:rate and windows:net_sent_packets:rate.

Each new alert has a runbook, a README row and a unit test;
tests/alerts.test.jsonnet checks the collector gating, the alert switches
and the group layout. The runbook check renders the alerts of every
collector. contrib/mixin/AGENTS.md documents the checklist for new alerts.

Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
2026-10-16 23:06:59 +00:00

1.6 KiB

title
title
WindowsNetworkUtilizationHigh

Meaning

Received or sent throughput on the interface nic exceeds the configured share of its link bandwidth for 15 minutes. The default is 90%. The recordings windows:net_received_utilization:ratio and windows:net_sent_utilization:ratio divide the byte rate of each direction by windows_net_current_bandwidth_bytes.

Impact

The link is close to saturation in at least one direction. Further traffic queues at the adapter, which raises latency and causes discards and TCP retransmissions for every application on the host.

Diagnosis

  1. Inspect both utilization ratios to find the direction, and windows:net_received_bytes:rate and windows:net_sent_bytes:rate for the absolute volume.
  2. Check windows_net_current_bandwidth_bytes. A link that negotiated a lower speed than expected, for example 100 Mbit/s instead of 1 Gbit/s, shows high utilization at normal traffic; compare it with Get-NetAdapter.
  3. Correlate with windows:net_received_discarded:rate, windows:net_outbound_discarded:rate and windows_net_output_queue_length_packets to see whether the saturation already drops packets.
  4. Identify the traffic with Resource Monitor, Get-NetTCPConnection, or switch-port statistics: backups, replication, file copies and monitoring bursts are common causes.

Mitigation

Move or schedule the bulk transfer, apply QoS, add bandwidth, or fix a link that negotiated the wrong speed. Confirm utilization returns below the threshold and discards stop. Tune the threshold for interfaces that run near line rate by design, such as storage replication links.