Installing Netdata: Real-time Monitoring for Your Home Lab

Netdata in Proxmox!!!

Harish Thangadurai
5 min readMay 5, 2024

In the previous article, we delved into the step-by-step process of installing Uptime Kuma in our Home Lab.

Now, let’s focus on another valuable tool to easily monitor the various resources that are consumed by our Home Lab — Netdata.

What is Netdata?

Netdata is a highly efficient, real-time monitoring and performance visualization tool designed for system administration, DevOps engineers, and anyone else managing infrastructure. It provides comprehensive insights into the performance and health of servers, applications, and network devices.

Key features of Netdata include:

  1. Real-time Monitoring
  2. Comprehensive Metrics
  3. Interactive Web Interface
  4. Customizable Alarms
  5. Minimal Resource Overhead
  6. Extensibility

Overall, Netdata is a versatile and powerful tool for monitoring infrastructure performance in real time, helping users ensure the reliability, stability, and efficiency of their systems.

Installing Netdata:

  • We’ll be directly installing the Netdata on our Proxmox node.
  • The reason for this is that Netdata has an autodiscovery feature. Based on the installation location and the method, Netdata will be able to discover the services and metrics and will be able to track them accordingly.
  • For example, if Netdata is installed directly on Proxmox, then it will be tracking all the Proxmox LXCs and VMs and other related metrics as Proxmox is a Hypervisor. If it is deployed say using docker-compose in a Proxmox LXC, then it will be tracking all the other containers that are deployed and that LXC-related metrics.
  • For now, we will be looking into both methods of installation starting the deploying Netdata directly in Proxmox.

Direct Install:

  • First, we can head over to our Proxmox login.
  • Now we can click on the Shell option to open up the console.
  • Now we can type in the below command to install the same.
wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry
  • The installation script would require prompts. Hit Y and then enter if needed.
  • We have now successfully installed Netdata on our Proxmox Server. By default, the Netdata instance would run on port 19999.
  • We can type in the IP:19999 to open our Netdata instance.
  • We will be greeted with the above dashboard. There will be various metrics available which Netdata would report periodically based on our Home Lab Usage.
  • On the right-hand side, we can see the various metrics ranging from CPU, Memory Usage and so many others. There are options to view the usage of our Proxmox LXCs as well.
  • Since Proxmox is a hypervisor, the autodiscovery features of Netdata automatically brought up the Containers and VMs deployed via our Proxmox.
  • Now let us look into the docker install of the same.

Docker-Compose Install:

  • We’ll be using Portainer Stack to install Netdata. First, let us log in to our Portainer instance and then head to our local docker instance by clicking on the local option.
  • Here we can use the Stack option to deploy our Netdata instance using our docker-compose file. Let’s click on the Stacks option.
  • We can click on the Add Stack button on the top right corner to create a new stack.
  • We can give the name of the stack, then copy and paste the below docker-compose file of our Netdata instance.
version: '3'
services:
netdata:
image: netdata/netdata
container_name: netdata
pid: host
network_mode: host
restart: unless-stopped
cap_add:
- SYS_PTRACE
- SYS_ADMIN
security_opt:
- apparmor:unconfined
volumes:
- netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- netdatacache:/var/cache/netdata
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /etc/localtime:/etc/localtime:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/os-release:/host/etc/os-release:ro
- /var/log:/host/var/log:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /run/dbus:/run/dbus:ro

volumes:
netdataconfig:
netdatalib:
netdatacache:
  • Once done we can click on the Deploy the Stack button to deploy our Netdata instance.
  • We can see that the stack has been successfully created. On viewing it, we can see that our Netdata instance has been successfully installed and the container has started running.
  • We can type in the IP:19999 to open our Netdata instance.
  • We now have deployed our Netdata instance in a Proxmox LXC. So Netadata would automatically bring up the docker containers and metrics related to the LXC.

We have now successfully installed and configured our Netdata instance. Now we will be able to monitor the resource usage of our Home Lab and will be able to get alarms if any issue occurs. There are many metrics available in Netdata depending upon the installation. Feel free the play around and explore the various options.

In this article, we have explored Netdata and went into the step-by-step process of deploying the same in our Home Lab.

In the next article, we will be looking into another service that we will be deploying in our Home Lab. Stay tuned for more detailed instructions on expanding our Home Labbing capabilities.

Happy Homelabbing!!!

--

--

Harish Thangadurai

👨‍💻 Automation Engineer | 🌍Tech Explorer | 🧠 Lifelong Learner