Network Subsystem
Plugin: windows.plugin Module: PerflibNetwork
Overview
Monitor Windows network interface traffic, packets, speed, errors, drops, and offload activity in charts. A live interface table also shows current operational state and the adapter's friendly name when Windows can match it to a discovered interface.
It queries the 'Network Interface' Perflib object and uses its 'Network Adapter' data when present, querying 'Network Adapter' separately when absent. The live interface table queries the Windows adapter API when opened and combines that result with the latest collected chart values.
This collector is only supported on the following platforms:
- windows
This collector only supports collecting metrics from a single instance of this integration.
Default Behavior
Auto-Detection
The collector automatically detects all of the metrics, no further configuration is required.
Limits
Operational state and friendly name are unavailable in the live table when a Perflib instance cannot be matched uniquely to a Windows adapter. A missing value is shown as unavailable, not as a down state. Per-interface charts start after the first received or sent byte; the live table can show idle interfaces before their charts start. Existing charts continue through later zero-byte counter values. When Windows cannot read an interface instance name, the aggregate bandwidth chart and removal of vanished interfaces pause for up to 60 collection cycles; after that they continue without the unnamed instance.
Performance Impact
A separate 'Network Adapter' Perflib query runs only when the 'Network Interface' result lacks that object. The live interface table queries the Windows adapter API on demand. It does not add an adapter API call to each chart collection cycle.
Setup
Prerequisites
No action required.
Configuration
Options
| Option | Description | Default | Required |
|---|---|---|---|
| update every | Data collection frequency. | 1 | no |
| disable by default interfaces matching | Space-separated, case-sensitive patterns matched against Perflib interface instance names. Use * to span spaces in a name (for example, Teredo*). Matching interfaces are excluded from per-interface charts and the live interface table. The physical network aggregate still includes them. | no |
via File
The configuration file name for this integration is netdata.conf.
Configuration for this specific integration is located in the [plugin:windows:PerflibNetwork] section within that file.
The file format is a modified INI syntax. The general structure is:
[section1]
option1 = some value
option2 = some other value
[section2]
option3 = some third value
You can edit the configuration file using the edit-config script from the
Netdata config directory.
cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config netdata.conf
Examples
There are no configuration examples.
Alerts
The following alerts are available:
| Alert name | On metric | Description |
|---|---|---|
| interface_speed | net.net | Network interface ${label:device} current speed |
| 1m_received_traffic_overflow | net.net | Average inbound utilization for the network interface ${label:device} over the last minute |
| 1m_sent_traffic_overflow | net.net | Average outbound utilization for the network interface ${label:device} over the last minute |
| net_interface_inbound_packets | net.packets | Received packets for the network interface ${label:device} in the last 10 minutes |
| net_interface_outbound_packets | net.packets | Sent packets for the network interface ${label:device} in the last 10 minutes |
| inbound_packets_dropped_ratio | net.drops | Ratio of inbound dropped packets for the network interface ${label:device} over the last 10 minutes |
| outbound_packets_dropped_ratio | net.drops | Ratio of outbound dropped packets for the network interface ${label:device} over the last 10 minutes |
| 1m_received_packets_rate | net.packets | Average number of packets received by the network interface ${label:device} over the last minute |
| 10s_received_packets_storm | net.packets | Ratio of average number of received packets for the network interface ${label:device} over the last 10 seconds, compared to the rate over the last minute |
| network_interface_output_queue_length | net.queue_length | The Output Queue Length on interface ${label:device} should be zero, otherwise there are delays and bottlenecks. |
Metrics
Metrics grouped by scope.
The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
Per System
These metrics refer to the entire System.
This scope has no labels.
Metrics:
| Metric | Description | Dimensions | Unit |
|---|---|---|---|
| system.net | Physical Network Interfaces Aggregated Bandwidth | received, sent | kilobits/s |
| ip.tcppackets | TCP Packets | received, sent | packets/s |
| ipv4.packets | IPv4 Packets | received, sent, forwarded, delivered | packets/s |
| ipv4.tcppackets | IPv4 TCP Packets | received, sent | packets/s |
| ipv4.udppackets | IPv4 UDP Packets | received, sent | packets/s |
| ipv4.icmp | IPv4 ICMP Packets | received, sent | packets/s |
| ipv4.errors | IPv4 Errors | InDiscards, OutDiscards, OutNoRoutes, InAddrErrors, InHdrErrors, InUnknownProtos | packets/s |
| ipv4.icmpmsg | IPv4 ICMP Packets | InEchoReps, OutEchoReps, InDestUnreachs, OutDestUnreachs, InRedirects, OutRedirects, InEchos, OutEchos, InRouterAdvert, OutRouterAdvert, InRouterSelect, OutRouterSelect, InTimeExcds, OutTimeExcds, InParmProbs, OutParmProbs, InTimestamps, OutTimestamps, InTimestampReps, OutTimestampReps | packets/s |
| ipv6.packets | IPv6 Packets | received, sent, forwarded, delivered | packets/s |
| ipv6.tcppackets | IPv6 TCP Packets | received, sent | packets/s |
| ipv6.udppackets | IPv6 UDP Packets | received, sent | packets/s |
| ipv6.icmp | IPv6 ICMP Packets | received, sent | packets/s |
| ipv6.errors | IPv6 Errors | InDiscards, OutDiscards, OutNoRoutes, InAddrErrors, InHdrErrors, InUnknownProtos | packets/s |
| ipv6.icmpmsg | IPv6 ICMP Packets | InEchoReps, OutEchoReps, InDestUnreachs, OutDestUnreachs, InRedirects, OutRedirects, InEchos, OutEchos, InRouterAdvert, OutRouterAdvert, InRouterSelect, OutRouterSelect, InTimeExcds, OutTimeExcds, InParmProbs, OutParmProbs, InTimestamps, OutTimestamps, InTimestampReps, OutTimestampReps | packets/s |
Per network device
These metrics refer to Network Interfaces.
Labels:
| Label | Description |
|---|---|
| interface_type | Classification of the network interface (real or virtual). |
| device | Perflib network interface instance name. |
Metrics:
| Metric | Description | Dimensions | Unit |
|---|---|---|---|
| net.net | Bandwidth | received, sent | kilobits/s |
| net.packets | Packets | received, sent | packets/s |
| net.speed | Interface Speed | speed | kilobits/s |
| net.errors | Interface Errors | inbound, outbound | errors/s |
| net.drops | Interface Drops | inbound, outbound | drops/s |
| net.unknown_protocol_packets | Packets Received with Unknown Protocol | inbound | packets/s |
| net.queue_length | Interface Output Queue Length | length | packets |
| net.rsc_connections | Active TCP Connections Offloaded by RSC | connections | connections |
| net.rsc_packets | TCP RSC Coalesced Packets | packets | packets/s |
| net.rsc_exceptions | TCP RSC Exceptions | exceptions | exceptions/s |
| net.rsc_average_packet_size | TCP RSC Average Packet Size | average | bytes |
| net.chimney_connections | Active TCP Connections Offloaded with Chimney | connections | connections |
Live Data
View current Windows network interface performance and operational state.
Network Interfaces
Shows discovered physical and virtual interfaces with current traffic, packet, drop, speed, and operational state values. Friendly names and state are shown only when the Perflib instance name uniquely matches a Windows adapter description or, if none matches, an adapter friendly name. Physical carrier state, duplex, and multicast packets are unavailable.
| Aspect | Description |
|---|---|
| Name | Perflibnetwork:network-interfaces |
| Require Cloud | no |
| Performance | Queries the Windows adapter API when the table is opened. |
| Security | Requires signed-in, same-space access because adapter friendly names can contain user-entered text. This is intentionally stricter than the Linux network-interfaces Function, which allows anonymous access; anonymous dashboard users receive HTTP 412 on Windows. |
| Availability | Available after the Windows network collector successfully reads Perflib data. |
Prerequisites
No additional configuration is required.
Parameters
This function has no parameters.
Returns
One row per discovered, non-excluded interface; unavailable values are empty.
| Column | Type | Unit | Visibility | Description |
|---|---|---|---|---|
| Interface | string | Perflib network interface name. | ||
| Type | string | Physical or virtual interface. | ||
| UsedBy | string | Interface owner. | ||
| PhState | string | hidden | Physical carrier state, currently unavailable. | |
| OpState | string | Current Windows adapter operational state, when matched. | ||
| Duplex | string | hidden | Duplex mode, currently unavailable. | |
| Speed | number | Mbit/s | Link speed. | |
| MTU | number | Octets | Maximum transmission unit. | |
| In | number | Mbit/s | Traffic received. | |
| Out | number | Mbit/s | Traffic sent. | |
| Total | number | Mbit/s | hidden | Traffic received and sent. |
| PktsIn | number | Kpps | Received packets. | |
| PktsOut | number | Kpps | Sent packets. | |
| McastIn | number | Kpps | hidden | Multicast received packets, currently unavailable. |
| DropsIn | number | Drops | Dropped inbound packets. | |
| DropsOut | number | Drops | Dropped outbound packets. | |
| FriendlyName | string | Windows adapter friendly name, when matched. |
Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.