Netdata – Real Time Performance Monitoring Tool for Linux

5

Netdata is a free software (a daemon) which collects a real-time performance data from Linux systems, Application, and SNMP devices, visualize it in the web-based interface. Netdata also provides the visualization of past data’s. In simple word, it provides a real-time visualization of what is happening on your systems now, and in the recent past.

Netdata - Real Time Performance Monitoring Tool for Linux
Netdata – Real Time Performance Monitoring Tool for Linux

Installation of the netdata is very simple, and it is like install and run it. You do not need to do any configuration to get data.

The following are the main features of netdata.

  • Stunning bootstrap dashboards, out of the box (theme: dark, light)
  • Very fast and efficient
  • Zero-configuration – no configuration
  • Zero dependencies – has its own web server for its static web files and its web API
  • Zero maintenance, you just run it, that’s all
  • You can build Custom dashboards using simple HTML
  • Extensible, you can monitor anything using its Plugin API
  • You can Embed charts to any external web pages.

If you look at individual monitoring ability, it can monitor.

  • CPU usage, interrupts, softirqs, and frequency
  • RAM, swap and kernel memory usage
  • Disks
  • Network interfaces
  • IPv4 networking
  • IPv6 networking
  • netfilter / iptables Linux firewall
  • Linux anti-DDoS protection
  • Processes
  • Entropy
  • NFS file servers, v2, v3, v4
  • Network QoS
  • Applications, by grouping the process tree
  • Apache web server mod-status (v2.2, v2.4)
  • Nginx web server stub-status
  • mySQL databases
  • ISC Bind name server
  • Postfix email server message queue
  • Squid proxy server
  • Hardware sensors
  • NUT UPSes
  • Monitor SNMP devices with extra configuration.

Netdata has been designed to run on all Linux operating system, without disturbing the applications running on it. Netdata is released under GPL v3.

  • Gentoo
  • ArchLinux
  • Ubuntu / Debian
  • CentOS
  • Fedora
  • RedHat Enterprise Linux
  • SUSE
  • Alpine Linux
  • PLD Linux

This guide helps you to install Netdata on CentOS 7 / 6 and Ubuntu 16.04 / 14.04.

Prerequisites:

Install the zlib development package and other packages.

### Ubuntu 16.04 / 14.04  ###

$ sudo apt-get install zlib1g-dev gcc make git autoconf autogen automake pkg-config

### CentOS 7 / RHEL 7 / CentOS 6 / RHEL 6 ###

# yum install zlib-devel gcc make git autoconf autogen automake pkgconfig psmisc

Installing Netdata:

Run the following command to clone the netdata git.

# git clone https://github.com/firehol/netdata.git --depth=1
# cd netdata

Execute the automatic installation to begin the installation of netdata.

### Ubuntu 16.04 / 14.04 ###

$ sudo ./netdata-installer.sh

### CenntOS 7 / RHEL 7 / CentOS 6 / RHEL 6 ###

# ./netdata-installer.sh

You would get an interactive prompt for installing netdata, press Enter to begin the installation.

Welcome to netdata!
Nice to see you are giving it a try!

You are about to build and install netdata to your system.

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
 - log files    at /var/log/netdata
 - pid file     at /var/run

This installer allows you to change the installation path.
Press Control-C and run the same command with --help for help.

Press ENTER to build and install netdata to your system >

The above prompt would let you know where all your files will be placed. If you don’t want to install it in the default directories, you can run the installer like this: ./netdata-installer.sh –install /opt. This will install netdata in /opt/netdata.

At the end of the installation, you would get an output like below.

-------------------------------------------------------------------------------

ok. NetData is installed and is running.

Hit http://localhost:19999/ from your browser.

To stop netdata, just kill it, with:

  killall netdata

To start it, just run it:

  /usr/sbin/netdata

Enjoy!


INFORMATION:

I see you have kernel memory de-duper (called Kernel Same-page Merging,
or KSM) available, but it is not currently enabled.

To enable it run:

echo 1 >/sys/kernel/mm/ksm/run
echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs

If you enable it, you will save 20-60% of netdata memory.

Uninstall script generated: ./netdata-uninstaller.sh

Installer will start the netdata on completion of installation, verify that netdata is running using the following.

# netstat -antup | grep 19999
tcp6       0      0 :::19999                :::*                    LISTEN      5017/netdata

Accessing Netdata:

Configure the firewall to allow access to netdata web interface for the external machines, only valid if the firewalld is installed on your machine.

### CentOS 7 / RHEL 7 / CentOS 6 / RHEL 6 ###

# firewall-cmd --permanent --add-port=19999/tcp
# firewall-cmd --reload

Open up your web browser and navigate it to http://your-ip-address or  http://localhost:19999/. In my case, it is like http://192.168.12.15:19999/

You would get a page something like below, real-time visualization of a system including free swap, disk read, disk write, CPU,  IPv4 inbound, IPv4 outbound, and Available RAM.

Netdata - Real Time Performance Monitoring Tool for Linux
Netdata – Real Time Performance Monitoring Tool for Linux

To get to know more about CPU alone, click on CPU (right menu), it will take you to the graph of CPU where you can get full information about CPU utilization.

Netdata - Real Time Performance Monitoring Tool for Linux - CPU
Netdata – Real Time Performance Monitoring Tool for Linux – CPU

Below screen shows the disk statistics.

Netdata - Real Time Performance Monitoring Tool for Linux - Disk
Netdata – Real Time Performance Monitoring Tool for Linux – Disk

This one is of network interface statistics.

Netdata - Real Time Performance Monitoring Tool for Linux - Network Interface
Netdata – Real Time Performance Monitoring Tool for Linux – Network Interface

Managing Netdata:

To start the netdata, run the following command in the terminal.

### Ubuntu 16.04 / 14.04 ###

$ sudo /usr/sbin/netdata

### CentOS 7 / RHEL 7 / CentOS 6 / RHEL 6 ###

# /usr/sbin/netdata

If you want to stop the netdata, issue the following command in the terminal.

### Ubuntu 16.04 / 14.04 ###

$ sudo killall netdata

### CentOS 7 / RHEL 7 / CentOS 6 / RHEL 6 ###

# killall netdata

If you consider changing the netdata port or other customization, look at the configuration file under ./etc.

vi /etc/netdata/netdata.conf

At last, if you want to get rid of netdata. Run the following command in the terminal to remove it completely. “/root/netdata/” is where git cloned the package from GitHub.

### Ubuntu 16.04 / 14.04 ###

$ sudo /root/netdata/netdata-uninstaller.sh

### CentOS 7 / RHEL 7 / CentOS 6 / RHEL 6 ###

# /root/netdata/netdata-uninstaller.sh

To start netdata on system start,  just place /usr/sbin/netdata on your /etc/rc.local or equivalent.

That’s All. We welcome your thoughts on the comments section.

Reference:

Official Website : http://netdata.firehol.org/

GitHub : https://github.com/firehol/netdata/wiki/Installation

You might also like