Netdata Quick Install & Config Guide

dkderek
6 min readAug 11, 2021

--

A getting started guide for Netdata and your Rocket Pool node

Below is a quick reference guide on installing and using Netdata to monitor your Rocket Pool node. There’s actually very little that’s specific to Rocket Pool, but that’s where I am using it. This guide should also work for anyone running a Linux system that would like advanced performance monitoring, charts, and alerts — all for no cost. Try it, you’ll be up and running in a few minutes!

What is Netdata?

Netdata is an open-source tool designed to collect real-time metrics, such as CPU usage, disk activity, bandwidth usage, website visits, etc., and then display them in live, easy-to-interpret charts. This allows you to troubleshoot issues and view sources of slowdowns before they become critical. Because it’s free, open-source, and requires only 1% CPU utilization to collect thousands of metrics every second, Netdata is a superb Rocket Pool node (or really any Ethereum node) monitoring tool. You can also install and build with one command.

Installation

Prep

If you’re coming here from my Rocket Pool VPS guide, you probably already updated your server, and you can skip these steps.

Log into your server and perform the following commands:

sudo apt-get update

sudo apt-get upgrade -y

Netdata automatic one-line installation

This method is fully automatic on all Linux distributions, including Ubuntu, Debian, Fedora, CentOS, and others. Enter the following command and then follow the steps outlined below. For more info on automatic installation go here. To learn more about what kickstart.sh does, see this page

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

Installation prompts for account password for elevated privileges

Enter password (sudo) for admin-level account you are using (I assume you’re not logged in as root). Follow the installation prompts, installation will take a few minutes

Alternate installation method

Download the Netdata installer script with the command:

wget https://my-netdata.io/kickstart.sh

When the download finishes, run the installer with the command:

sudo sh kickstart.sh

Build Netdata

Once installation is complete, you’ll be prompted to build Netdata to your system. Note that at this point you have the option of disabling anon usage stats, follow on-screen instructions to do so. I don’t see sharing stats as an attack vector or undue resource burden but do your own research. I leave this enabled as I want to support Netdata’s development and improvement efforts.

Building Netdata

Netdata enabled automatic updates by default, to disable use the following command with your kickstart.sh when you install or update Netdata

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

We are done!

Building complete

At this point you may want to edit/enable cron email notifications for failed updates. Not covered in this document, see this guide if you’d like additional details https://serverspace.us/support/help/cron-notifications-to-email-ubuntu-20-04/

If you scroll up, you will likely see information about memory de-duplication via KSM. I have left this disabled for now with plans to research using KSM, potential security issues, etc. If you have experience with KSM I’d appreciate hearing any input you have.

KSM memory de-duplication

Viewing Your Systems Performance

You should now be able to view real-time stats on your system by going to your server’s ip address and port 19999 — http://systemip:19999 e.g. http://209.12.10.255:19999/

Netdata system overview

From the System Overview menu on the right-hand side, you’re able to view the Rocket Pool docker containers

Rocket Pool container monitoring

Claiming Your Netdata Agent

Agent claiming is optional. Netdata Cloud allows you to “claim” your agent. Agent claiming allows a Netdata Agent, running on a distributed node, to securely connect to Netdata Cloud. Netdata Cloud is a centralized web interface for monitoring your servers which is secured with an account. Claiming nodes is a security feature in Netdata Cloud. Through the process of claiming, you demonstrate in a few ways that you have administrative access to that node and the configuration settings for its agent. By logging into the node, you prove you have access, and by using the claiming script or the Netdata command line, you prove you have write access and administrative privileges. Once you’ve claimed your node, you can then disable access to the local dashboard. More on this below.

See more about claiming your Netdata Agent.

Summary of steps to claim

  1. Create a Netdata account — login via username and password or your GitHub or Google account — https://www.netdata.cloud/get-netdata/
  2. Add your nodes via the claiming process. See the whole process in 90 seconds How to claim a node to Netdata Cloud
  3. Monitor and troubleshoot — add and organize multiple devices, add collaborators, and organize via Spaces and War Rooms

Security

Accessing your dashboard directly via the server’s IP is safe, mostly. Netdata is read-only, cannot do anything other than present metrics, and runs without special privileges. Also, the local dashboard only exposes chart metadata and metric values, not raw data. I say “mostly” because by default the dashboard is accessible by anyone on the internet. This could reveal sensitive information about your server, like the fact that you’re running Rocket Pool for staking your ETH. At the link below, you’ll find information on disabling the local dashboard (recommended), how to restrict access to certain IP addresses, or use a reverse proxy.

Learn more about securing your node

Open by default, secure by design

Wrapping Up

Additional Considerations

If you want to be extremely resource conservative, you can consider running Netdata on-demand, such as when you want to review performance or diagnose a performance issue. There are certain benefits you’ll lose if running only on demand, such as proactive alerts.

Further Reading

Below are some additional resources for learning more about monitoring your server.

Another guide you may find helpful can be found here. It covers some Ethereum node specific detail. It also goes into further detail on the metrics and how to use them to troubleshoot issues. Here’s a crash course for complete beginners on Monitoring with Netdata.

I find that Netdata has helpful documentation, Note, there are differences between accessing Netdata via cloud vs. local. Be aware of this as you review documentation and work through configurations. If you’re not seeing an option, you may need to switch how you’re accessing Netdata. Netdata also has an active and helpful community.

--

--

dkderek

Digital customer experience fanatic, tech & crypto enthusiast, small scale farmer. Constantly curious and striving to improve while maintaining balance.