Netdata provides accurate performance monitoring through extensible web dashboards that visualize the processes and services on your Linux systems. It monitors metrics about CPU, memory, disks, networks, processes, and more.
Netdata needs no extra configuration necessary once installed, but provides significant customization. The efficiency and speed of the application aims to be comparable to native console administration tools such as vmstat, iostat, and htop .
The steps in this tutorial cover everything you need to successfully set up one Ubuntu 16.04 server running Netdata using its built-in web server
Before we install anything, make sure the system package index is up to date.
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make autoconf autoconf-archive autogen automake pkg-config curl
The next set of packages are optional but recommended by Netdata, and include Python, some Python packages, and Node.JS. The stable version of Node.js bundled with the system package manager is fine for Netdata’s requirements. Install these next.
sudo apt-get install python python-yaml python-mysqldb python-psycopg2 nodejs lm-sensors netcat
To install Netdata itself, we must use the project’s GitHub repository. Clone the Netdata repository into your home directory.
git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata
Move to the newly cloned directory.
Now build and install the application using the
netdata-installer.sh shell script in this directory. Make sure to append
sudo here, otherwise the way in which Netdata collects system data (through data collectors) would not function correctly.
The output you’ll see at first contains information on where Netdata will store all of it’s components. You can read through these so you are a bit more familiar with how the program is spread out over the filesystem after its installation.
Installer Output . . . It will be installed at these locations: - the daemon at /usr/sbin/netdata - config files at /etc/netdata - web files at /usr/share/netdata - plugins at /usr/libexec/netdata - cache files at /var/cache/netdata - db files at /var/lib/netdata - log files at /var/log/netdata - pid file at /var/run . . .
ENTER to continue with the installation. After a moment, at the end of the output chain, you’ll see the following message:
. . . ^ |.-. .-. .-. .-. .-. . netdata .-. .- | '-' '-' '-' '-' '-' is installed and running now! -' '-' +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+---> enjoy real-time performance and health monitoring...
Netdata is now installed and running successfully, and will run automatically upon rebooting the server as well.
If you have UFW enabled, you’ll need to open port
19999 for Netdata’s internal web server.
sudo ufw allow 19999/tcp
At this point, you can view the default dashboard by visiting
:19999/ in your favorite browser. You’ll see an overview of the system’s live metrics. This is a good check that everything’s working. If there’s an update available, you just need to run the supplied update script from the Netdata Git repository, which we cloned to the Linux user’s home directory in Step 1. That is, when an update is available, just run
sudo ~/netdata/netdata-updater.sh from the command line.