Sunday, December 29, 2024
Google search engine
HomeGuest BlogsHow To Install Netdata on RHEL 8 / CentOS 8

How To Install Netdata on RHEL 8 / CentOS 8

Welcome to our guide on how to install Netdata on RHEL 8 / CentOS 8. Netdata is a powerful real-time and distributed health and performance monitoring tool for Applications and infrastructure systems.

Netdata can be used on physical servers, Virtual Machines, containers, and IoT devices. It gives you modern interactive web dashboards for viewing your server metrics with support for various data stores for persistent storage.

Features of netdata

Here are the key features of Netdata monitoring tool.

  • Auto-scaling of chart units
  • IP access lists for filtering access to netdata
  • Enhanced VMs and containers monitoring
  • Highlighted time-frames across all charts of the dashboard
  • Dashboard snapshots, for loading/saving of selected time-frames
  • Timezone conversion at the dashboard to allow comparing charts with server logs
  • Zero maintenance, configuration, and dependencies
  • It is easily customizable, extensible, and embeddable
  • Scales to infinity
  • Time-series back-ends supported – it can archive its metrics on graphite, opentsdb, Prometheus, JSON document DBs, in the same or lower detail.

Install Netdata on RHEL 8 / CentOS 8

We’re going to build and install Netdata on RHEL 8 / CentOS 8 from source. Let’s kickoff by ensuring all dependencies are installed.

Enable EPEL repository:

###  CentOS 8 ###
sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf config-manager --set-enabled powertools

### RHEL 8 ###
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms

Login to your server run below commands.

sudo dnf -y install git zlib-devel libuuid-devel libmnl gcc make git autoconf automake pkgconfig curl findutils libuv-devel
sudo dnf groupinstall "development tools" -y

Method 1: Install Netdata using automated script (Recommended)

Download installation script

curl -fsSL -O https://my-netdata.io/kickstart.sh
mv kickstart.sh  netdata-installer.sh

Make the script executable:

chmod +x netdata-installer.sh

Run the script to install Netdata on CentOS 8 / RHEL 8:

sudo ./netdata-installer.sh --non-interactive

Expected output if the installation is successful

Complete!
 OK

Tue Oct 18 23:28:39 EAT 2022 : INFO: netdata-updater.sh:  Auto-updating has been ENABLED through cron, updater script linked to /etc/cron.daily/netdata-updater\n
Tue Oct 18 23:28:39 EAT 2022 : INFO: netdata-updater.sh:  If the update process fails and you have email notifications set up correctly for cron on this system, you should receive an email notification of the failure.
Tue Oct 18 23:28:39 EAT 2022 : INFO: netdata-updater.sh:  Successful updates will not send an email.
Successfully installed the Netdata Agent.

Official documentation can be found online at https://learn.netdata.cloud/docs/.

Looking to monitor all of your infrastructure with Netdata? Check out Netdata Cloud at https://app.netdata.cloud.

Join our community and connect with us on:
  - GitHub: https://github.com/netdata/netdata/discussions
  - Discord: https://discord.gg/5ygS846fR6
  - Our community forums: https://community.netdata.cloud/

Check service status:

$ systemctl status netdata.service
● netdata.service - Real time performance monitoring
   Loaded: loaded (/usr/lib/systemd/system/netdata.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-10-18 23:28:38 EAT; 1min 44s ago
 Main PID: 56246 (netdata)
    Tasks: 56 (limit: 49442)
   Memory: 74.6M
   CGroup: /system.slice/netdata.service
           ├─56246 /usr/sbin/netdata -P /run/netdata/netdata.pid -D
           ├─56251 /usr/sbin/netdata --special-spawn-server
           ├─56779 /usr/libexec/netdata/plugins.d/apps.plugin 1
           └─56788 /usr/libexec/netdata/plugins.d/go.d.plugin 1
...

Method 2: Manually build netdata (longer route)

Start by cloning the project source from Github.

git clone https://github.com/netdata/netdata.git --depth=100 

Start the build and installation of Netdata on RHEL 8 / CentOS 8

$ cd netdata/
$ sudo ./netdata-installer.sh

  ^
  |.-.   .-.   .-.   .-.   .  netdata                                        
  |   '-'   '-'   '-'   '-'   real-time performance monitoring, done right!  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->


  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   in /etc/netdata
   - web files      in /usr/share/netdata
   - plugins        in /usr/libexec/netdata
   - cache files    in /var/cache/netdata
   - db files       in /var/lib/netdata
   - log files      in /var/log/netdata
   - pid file       at /var/run/netdata.pid
   - logrotate file at /etc/logrotate.d/netdata

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 when propmted. The installation is automated and no further input is required from you.

You should get output like below if installation was successful.

 --- Check KSM (kernel memory deduper) --- 

Memory de-duplication instructions

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 40-60% of netdata memory.

 --- Check version.txt --- 
 --- Check apps.plugin --- 
 --- Basic netdata instructions --- 

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

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

To stop netdata run:

  systemctl stop netdata

To start netdata run:

  systemctl start netdata



 --- We are done! --- 

  ^
  |.-.   .-.   .-.   .-.   .-.   .  netdata                          .-.   .-
  |   '-'   '-'   '-'   '-'   '-'   is installed and running now!  -'   '-'  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->

 enjoy real-time performance and health monitoring...

Netdata service should be started automatically after installation.

$ systemctl status netdata
 ● netdata.service - Real time performance monitoring
    Loaded: loaded (/usr/lib/systemd/system/netdata.service; enabled; vendor preset: disabled)
    Active: active (running) since Sat 2019-03-09 09:15:37 EAT; 5min ago
   Process: 13839 ExecStartPre=/bin/chown -R netdata:netdata /var/run/netdata (code=exited, status=0/SUCCESS)
   Process: 13837 ExecStartPre=/bin/mkdir -p /var/run/netdata (code=exited, status=0/SUCCESS)
   Process: 13835 ExecStartPre=/bin/chown -R netdata:netdata /var/cache/netdata (code=exited, status=0/SUCCESS)
   Process: 13833 ExecStartPre=/bin/mkdir -p /var/cache/netdata (code=exited, status=0/SUCCESS)
  Main PID: 13841 (netdata)
     Tasks: 23 (limit: 11510)
    Memory: 37.3M
    CGroup: /system.slice/netdata.service
            ├─13841 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D -W set global process scheduling policy keep -W set global OOM score keep
            ├─13913 /usr/libexec/netdata/plugins.d/go.d.plugin 1
            └─13922 /usr/libexec/netdata/plugins.d/apps.plugin 1
 Mar 09 09:15:37 rhe8.local systemd[1]: Starting Real time performance monitoring…
 Mar 09 09:15:37 rhe8.local systemd[1]: Started Real time performance monitoring.

Accessing Netdata UI

Netdata by default listens on all IPs on port 19999, if you have firewalld service, allow access to this port within LAN.

sudo firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" \
source address="192.168.122.0/24" port protocol="tcp" port="19999" accept'

If the Server is not exposed to the internet, you can allow access from any IP.

sudo firewall-cmd --add-port=19999/tcp --permanent

Reload firewalld to apply changes.

sudo firewall-cmd --reload

Access Netdata Web dashboard on server IP address and port 19999.

netdata rhel8 centos8 ui

If you’re a fan of Grafana, check our tutorial on How to Monitor Linux Server with Netdata and Grafana.

Other interesting articles:

Linux Process Monitoring with gotop – Linux top alternative

Install and Configure Telegraf on RHEL 8 / CentOS 8

How to Install Grafana on RHEL / CentOS 8

How to Install InfluxDB on RHEL 8 / CentOS 8

RELATED ARTICLES

Most Popular

Recent Comments