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 WMI collector integrates with windows_exporter, a small Go-based binary that you can run on Windows systems. The WMI collector then gathers metrics from an endpoint created by windows_exporter.
First, download windows_exporter and run it
with the following collectors enabled, changing 0.14.0
to the version you downloaded.
windows_exporter-0.14.0-amd64.exe --collectors.enabled="cpu,memory,net,logical_disk,os,system,logon"
Next, configure the WMI
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.
Was this page helpful?
Need further help?
Search for an answer in our community forum.
Contribute
- Join our community forum
- Learn how to contribute to Netdata's open-source project
- Submit a feature request