Friday 16 September 2016

Real time performance monitoring with Netdata

Netdata is a web based real time system performance monitoring tool. It's easy to configure as it does not have many dependencies & most of them are available in EPEL.
The developers have also provided scripts which takes care of the installation along with dependency requirements on the projects' github page.

I decided to install it the hard way without using scripts. So I installed the dependent packages by hand & downloaded the netdata source from github.

#yum install zlib-devel libuuid-devel libmnl-devel gcc make autoconf autoconf-archive autogen automake pkgconfig

[root@centdb /]# unzip netdata-master.zip
Archive:  netdata-master.zip
cd8c212e1ac9199eb6bd265ce6181f76f6d2625b
   creating: netdata-master/
  inflating: netdata-master/.gitignore
  inflating: netdata-master/.travis.yml
  inflating: netdata-master/CMakeLists.txt
  inflating: netdata-master/COPYING
  inflating: netdata-master/ChangeLog
  inflating: netdata-master/Dockerfile
  inflating: netdata-master/LICENSE.md
  inflating: netdata-master/Makefile.am
  inflating: netdata-master/README.md
   creating: netdata-master/ansible/
  inflating: netdata-master/ansible/netdata.yml
 extracting: netdata-master/autogen.sh
   creating: netdata-master/build/
-------------------------------------------------
-------------------------------------------------

From the directory where the package is extracted, run autogen.sh script.

[root@centdb netdata-master]# ./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing
autoreconf: configure.ac: not using Libtool
autoreconf: running: /usr/bin/autoconf --force
autoreconf: running: /usr/bin/autoheader --force
autoreconf: running: automake --add-missing --copy --force-missing
configure.ac:32: installing `./config.guess'
configure.ac:32: installing `./config.sub'
configure.ac:31: installing `./install-sh'
configure.ac:31: installing `./missing'
src/Makefile.am: installing `./depcomp'
autoreconf: Leaving directory `.'

Now run the netdata-installer.sh script.

[root@centdb netdata-master]# ./netdata-installer.sh

Welcome to netdata!
The real-time performance monitoring system.

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

This script will do the complete configuration of netdata from start to finish

At the completion of the script, the following text will be displayed:


OK. NetData is installed and it is running.

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

By default netdata listens on all IPs on port 19999,
so you can access it with:

http://this.machine.ip:19999/

To stop netdata, just kill it, with:
  killall netdata
To start it, just run it:
  /usr/sbin/netdata

Enjoy!
Uninstall script generated: ./netdata-uninstaller.sh


I took a look at the GUI & found it to be phenomenal. It was really cool.

Here are a couple of screenshots:





Enabling netdata to start on boot:

The directory where netdata was extracted had a sub-directory called system & it contained the init script netdata-init-d to /etc/init.d & then ran

[root@centdb init.d]# service netdata-init-d status
netdata (pid  7416) is running...
[root@centdb init.d]# chkconfig netdata-init-d on
[root@centdb init.d]# chkconfig netdata-init-d --list
netdata-init-d  0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@centdb init.d]#

No comments:

Post a Comment

Using capture groups in grep in Linux

Introduction Let me start by saying that this article isn't about capture groups in grep per se. What we are going to do here with gr...