Netdata is a free and open-source distributed, real-time monitoring application that runs across various computing devices; physical servers, cloud servers, containers, and even IoT devices. It collects a great deal of data and visualizes it on sleek and interactive dashboards.
Netdata is a monitoring agent designed to run on all your systems: physical and virtual servers, containers, even IoT/edge devices. Netdata runs on Linux, FreeBSD, macOS, Kubernetes, Docker, and all their derivatives. Getting real-time statistics on various system metrics is a top priority for system administrators, developers, and operation teams in general. Netdata helps in monitoring systems in realtime and quickly picking up faults or errors and resolving them to ensure things get back on track.
In this guide we will learn how to set up Netdata in Debian 11.
Related content:
- How To Monitor Linux Servers Using Prometheus Node Exporter
- How to run Prometheus with docker and docker-compose
- How to Setup Promtail, Grafana and Loki for free Log Management in Debian 11
Installation
The Netdata team recommends installing Netdata using the automatic one liner script that they provide. This script works with all major Linux distributions.
To install Netdata, including all dependencies required to connect to Netdata Cloud, and get automatic nightly updates, run the following as your normal user:
curl -L -o /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
If you would prefer to update your Netdata agent manually, you can disable automatic updates by using the --no-updates
option when you install or update Netdata.
sh /tmp/netdata-kickstart.sh --no-updates
Netdata starts and listens on port 19999. To confirm that it is running, we can check:
$ sudo ss -tulpn | grep 19999
tcp LISTEN 0 4096 0.0.0.0:19999 0.0.0.0:* users:(("netdata",pid=154504,fd=6))
tcp LISTEN 0 4096 [::]:19999 [::]:* users:(("netdata",pid=154504,fd=7))
Also, you can confirm that Netstat systemd service is running by invoking:
sudo systemctl status netdata
The output confirms that indeed, Netdata is running as we would expect.
$ sudo systemctl status netdata
● netdata.service - Real time performance monitoring
Loaded: loaded (/lib/systemd/system/netdata.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2023-01-19 04:38:58 UTC; 15min ago
Main PID: 154504 (netdata)
Tasks: 83 (limit: 8920)
Memory: 126.9M
CPU: 26.293s
CGroup: /system.slice/netdata.service
├─154504 /usr/sbin/netdata -D -P /var/run/netdata/netdata.pid
├─154506 /usr/sbin/netdata --special-spawn-server
├─154699 /usr/libexec/netdata/plugins.d/go.d.plugin 1
├─154702 bash /usr/libexec/netdata/plugins.d/tc-qos-helper.sh 1
├─154705 /usr/libexec/netdata/plugins.d/ebpf.plugin 1
├─154706 /usr/libexec/netdata/plugins.d/nfacct.plugin 1
└─154713 /usr/libexec/netdata/plugins.d/apps.plugin 1
Jan 19 04:38:58 fidle-debiansrv systemd[1]: Started Real time performance monitoring.
Configure firewall
At this point, you can access Netdata from the browser from your host system. However, if UFW firewall is enabled, this will not be possible. With that in mind, port 19999 needs to be allowed.
So run the following commands:
sudo ufw allow 19999/tcp
sudo ufw reload
Then confirm that port 19999 is allowed on the firewall.
sudo ufw status
Single-node monitoring with Netdata
Because it’s free, open-source, and requires only 1% CPU utilization to collect thousands of metrics every second, Netdata is a superb single-node monitoring tool.
To see your node’s real-time metrics, you need to access its dashboard. You can either view the local dashboard, which runs on the node itself, or see the dashboard through Netdata Cloud. Both methods feature real-time, interactive, and synchronized charts, with the same metrics, and use the same UI.
The primary difference is that Netdata Cloud also has a few extra features, like creating new dashboards using a drag-and-drop editor, that enhance your monitoring and troubleshooting experience.
To see your node’s local dashboard, open up your web browser of choice and navigate to http://NODE:19999
, replacing NODE
with the IP address or hostname of your Agent. Hit Enter
.
Netdata dashboard will come into view with elegant and beautiful visualizations displaying a System overview of the main system metrics such as CPU utilization, network bandwidth stats, disk read/write and RAM utilization.
On the right sidebar are additional system metric options that you can click on to view dashboards that visualize real-time statistics.
For instance, to have a glance at the network bandwidth, select the “Network Interfaces” icon.
The Netdata Agent is highly configurable so that you can match its behavior to your node. You will find most configuration options in the netdata.conf
file, which is typically at /etc/netdata/netdata.conf
. The best way to edit this file is using the edit-config
script, which ensures updates to the Netdata Agent do not overwrite your changes. For example:
cd /etc/netdata<br>sudo ./edit-config netdata.conf
Conclusion
Netdata allows you to monitor your single node system in real time. You can configure alarms and notifications which can be triggered when a certain event or threshold is exceeded.