Collect system metrics with Netdata
Netdata collects thousands of metrics directly from the operating systems of physical and virtual systems, IoT/edge devices, and containers with zero configuration.
To gather system metrics, Netdata uses roughly a dozen plugins, each of which has one or more collectors for very
specific metrics exposed by the host. The system metrics Netdata users interact with most for health monitoring and
performance troubleshooting are collected and visualized by proc.plugin
, cgroups.plugin
, and ebpf.plugin
.
proc.plugin gathers metrics from the /proc
and /sys
folders in Linux
systems, along with a few other endpoints, and is responsible for the bulk of the system metrics collected and
visualized by Netdata. It collects CPU, memory, disks, load, networking, mount points, and more with zero configuration.
It even allows Netdata to monitor its own resource utilization!
cgroups.plugin collects rich metrics about containers and virtual machines
using the virtual files under /sys/fs/cgroup
. By reading cgroups, Netdata can instantly collect resource utilization
metrics for systemd services, all containers (Docker, LXC, LXD, Libvirt, systemd-nspawn), and more. Learn more in the
collecting container metrics doc.
ebpf.plugin: Netdata's extended Berkeley Packet Filter (eBPF) collector monitors Linux kernel-level metrics for file descriptors, virtual filesystem IO, and process management. You can use our eBPF collector to analyze how and when a process accesses files, when it makes system calls, whether it leaks memory or creating zombie processes, and more.
While the above plugins and associated collectors are the most important for system metrics, there are many others. You can find all system collectors in our supported collectors list.
Collect Windows system metrics
Netdata is also capable of monitoring Windows systems. The Windows collector integrates with windows_exporter, a small Go-based binary that you can run on Windows systems. The Windows collector then gathers metrics from an endpoint created by windows_exporter, for more details see the requirements.
Next, configure the Windows
collector to point to the URL and port of your exposed endpoint. Restart Netdata with sudo systemctl restart netdata
, or the appropriate
method for your system. You'll start seeing Windows system metrics, such as CPU
utilization, memory, bandwidth per NIC, number of processes, and much more.
For information about collecting metrics from applications running on Windows systems, see the application metrics doc.
What's next?
Because there's some overlap between system metrics and container metrics, you should investigate Netdata's container compatibility if you use them heavily in your infrastructure.
If you don't use containers, skip ahead to collecting application metrics with Netdata.
Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.