Plugin: network-viewer.plugin Module: network-viewer.plugin
This plugin reads the system’s socket tables to enumerate all active network connections, including TCP and UDP sockets in all states, for both IPv4 and IPv6.
On Linux it consumes NETLINK_INET_DIAG and the /proc socket tables;
on FreeBSD it walks KERN_PROC_FILEDESC and consults net.inet.tcp.pcblist
to attribute sockets to processes.
On macOS it walks process file descriptors with libproc and reads socket
metadata with PROC_PIDFDSOCKETINFO. A non-privileged or TCC-restricted
macOS run can omit protected processes; the plugin logs a warning when
permission-denied socket data or truncated process/socket list reads make
results incomplete.
This collector is only supported on the following platforms:
This collector only supports collecting metrics from a single instance of this integration.
The plugin needs privileged access to enumerate all process sockets. On macOS, non-privileged or TCC-restricted runs can omit protected processes; the plugin logs a warning when permission-denied socket data or truncated process/socket list reads make results incomplete. Grant the Netdata plugin its normal privileged permissions and Full Disk Access when local policy requires it.
The plugin automatically detects all active network connections on the system.
The default configuration for this integration does not impose any limits on data collection.
On macOS, the current established TCP count for network-protocols comes
from a cached live socket inventory because macOS does not expose a cheap
per-state TCP counter equivalent to FreeBSD’s net.inet.tcp.states.
The cache is held for the Function response update window. Busy hosts
with many processes and file descriptors can make that path heavier than
the FreeBSD and Linux implementations.
No action required.
Optional APPS_LOOKUP cache-warming controls for topology and aggregated network-connection Functions.
| Option | Description | Default | Required |
|---|---|---|---|
| apps lookup cache size | Maximum number of per-PID APPS_LOOKUP cache entries kept by network-viewer.plugin. | 8192 | no |
The configuration file name for this integration is netdata.conf.
Configuration for this specific integration is located in the [plugin:network-viewer] 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
Keep the default APPS_LOOKUP cache size.
[plugin:network-viewer]
apps lookup cache size = 8192
Metrics grouped by scope.
The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
network-viewer.plugin APPS_LOOKUP client cache-warming health and latency.
This scope has no labels.
Metrics:
| Metric | Dimensions | Unit |
|---|---|---|
| netdata.collector.ipc.apps_lookup.client.requests | requests_sent, requests_responded, requests_failed | requests/s |
| netdata.collector.ipc.apps_lookup.client.cache | cache_hits, cache_misses_unknown, cache_misses_intake_dropped, cache_evictions_pid_reuse, cache_evictions_lru | events/s |
| netdata.collector.ipc.apps_lookup.client.peer | peer_connect_attempts, peer_disconnects | events/s |
| netdata.collector.ipc.apps_lookup.client.worker_request_duration_ms | le_1ms, le_5ms, le_10ms, le_50ms, le_100ms, le_500ms, le_1000ms, gt_1000ms | requests/s |
| netdata.collector.ipc.apps_lookup.client.function_handler_overhead_ms | le_1ms, le_5ms, le_10ms, le_50ms, le_100ms, le_500ms, le_1000ms, gt_1000ms | calls/s |
| netdata.collector.ipc.apps_lookup.client.intake_depth | intake_depth | pids |
There are no alerts configured by default for this integration.
Want a personalised demo of Netdata for your use case?