Netdata for monitoring all the things

I’ve read through the documentation for the Telegraf, InfluxDB, Grafana stack, Zabbix, Nagios, and many others but for someone with a simple home lab of 1 Proxmox host with 3 VM’s and 2 Raspberry Pi’s I didn’t exactly need anything extreme. With that in mind and some recommendations for Netdata on Reddit I decided to give it a try.

Netdata is a bit different from the others as each install gives us a web interface which we can link together, whereas other monitoring has a server with agents installed on each system we are going to monitor. Whilst I prefer having a single monitoring server the simplicity of Netdata is to hard to pass upon.

First I needed to decide on how I was going to install Netdata on my Raspberry Pi 4, now this Pi actually runs docker and I could have easily run it in a container using the documentation on their site but then had to deal with exposing docker to Netdata and then passing the host information through docker to the container. In the end, I went with installing it on the bare metal host.

Install on Raspberry Pi

Luckily installation is simple with just 1 line of code required. SSH into your server and run the following command.

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Run the line and follow the instructions, this is pretty much just typing “Y” a few times until the installer completes.

Now Netdata is installed we can open our web browser and navigate to http://IP:19999 and will be greeted with our first dashboard.

As you can see Netdata has picked up nearly everything, even our docker containers.

One thing that Netdata hasn’t picked up is our Raspberry Pi’s temperature to enable that we need to do the following.

sudo /etc/netdata/edit-config charts.d.conf

Scroll down to where you see

#sensors=force

and uncomment it, we can then save the script with Ctrl + O, Enter and then Ctrl + X to exit.

Restart Netdata with

sudo service netdata restart

Once you log back in you should see the sensors tab with the Pi’s temperature listed.

Install on VM’s

Next, I installed Netdata on my 3 VM’s, 1 for Plex, 1 for Docker, and 1 for OpenMediaVault. One of my hosts is running on Debian and didn’t have Curl installed, we can install this with sudo apt install Curl.

Again the installation is simple, run the script.

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Hit yes a bunch of times and once it’s completed navigate to IP:19999

Repeat for the other hosts and now you’ve got Netdata running on your hosts and VM’s.

Netdata cloud

Finally let’s add our nodes together, to do this we need to log in with an email address or Google account. I used my email address, once entered it will send a “Magic Link” to your inbox which once clicked will add that node to your account.

Navigate to each of your nodes and repeat this step to add the node.

Proxmox host

At this point, I really wasn’t sure whether to add Netdata to the main host or not as really we have all the data already from the VM’s, if you want to install it you can again run the script and join the node to Netdata.

Both Proxmox and Netdata can be exported to Prometheus. In a future article, we will go through the setup of exporting to Prometheus to create some pretty graphs in Grafana.

3 Replies to “Netdata for monitoring all the things”

  1. FYI
    Seems this line ‘#sensors=force” is currently missing from the charts.d.conf file. Adding and restarting did not show any temp in the UI.

      1. and that works like a charm ! Tx !

        One remark maybe : if there is no /etc/netdata/python.d.conf, then run :
        sudo /etc/netdata/edit-config python.d.conf

        it will allow you to edit and copies the file to the /etc/netdata directory.

Leave a Reply to samourai47 Cancel reply