How to Install Netdata on RHEL 7

Netdata is a real-time performance monitoring agent that delivers per-second metrics with zero configuration on most Linux systems. Unlike heavier monitoring solutions that scrape on 15-second or 1-minute intervals, Netdata collects and stores data every second, making it ideal for diagnosing transient performance problems that would be invisible at coarser resolutions. Its embedded web dashboard requires no external database, no separate front-end server, and no query language to learn — you simply install it and open a browser. This guide covers two installation methods for RHEL 7 (the official kickstart script and EPEL), configuration of the Netdata agent, dashboard access, optional Netdata Cloud connection, custom alerting, and firewall rules.

Prerequisites

  • RHEL 7 server with root or sudo access
  • At least 512 MB of free RAM (Netdata typically uses 50–150 MB at runtime)
  • Internet access for the kickstart installer or EPEL repository (or a local mirror)
  • Port 19999 accessible from your workstation, or an SSH tunnel if the server is not directly reachable
  • curl or wget installed

Step 1: Install Netdata Using the Official Kickstart Script

The fastest and most comprehensive way to install Netdata is via the official kickstart.sh installer. It detects your distribution, installs required dependencies, compiles or installs the latest stable release, and configures a systemd service automatically:

curl https://get.netdata.cloud/kickstart.sh -o /tmp/netdata-kickstart.sh
# Review the script before running it — this is good practice for any downloaded installer
less /tmp/netdata-kickstart.sh
bash /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry

The --stable-channel flag installs the latest stable release rather than a nightly build. The --disable-telemetry flag opts out of anonymous usage statistics.

The installer will:

  • Install build dependencies via yum if compiling from source
  • Download and verify the release tarball or RPM
  • Install Netdata to /usr/libexec/netdata and /etc/netdata
  • Create the netdata system user
  • Create and enable the netdata systemd service

After the script completes, verify the service is running:

systemctl status netdata

Step 2: Alternative Installation via EPEL

If you prefer to use your system’s package manager and avoid running an internet-sourced shell script directly, you can install Netdata from the EPEL (Extra Packages for Enterprise Linux) repository. This method installs an older but stable version:

# Enable EPEL if not already enabled
yum install -y epel-release

# Install Netdata from EPEL
yum install -y netdata

# Enable and start the service
systemctl enable netdata
systemctl start netdata
systemctl status netdata

Note that the EPEL package may lag behind the upstream release. For the latest collectors and features, the kickstart script is preferred.

Step 3: Configure Netdata

Netdata’s primary configuration file is /etc/netdata/netdata.conf. On a fresh installation this file is minimal — most settings use their built-in defaults. To view all available options with their defaults, run:

/usr/libexec/netdata/netdata -W dump-config

The most commonly adjusted settings are in the [global] and [web] sections. Edit the configuration file to tune the web server port, memory mode, and history retention:

# /etc/netdata/netdata.conf

[global]
    # Run as this user (default: netdata)
    run as user = netdata

    # Metric history in seconds (default: 3600 = 1 hour per dimension)
    # Increase to retain more history in RAM, or use 'dbengine' for disk-backed storage
    history = 7200

    # Memory mode: ram, save, map, none, or dbengine
    # 'dbengine' stores history on disk and supports much longer retention
    memory mode = dbengine

    # Disk space for dbengine tier 0 (hot data), in MiB
    page cache size = 32

[web]
    # Listening address — use 0.0.0.0 to bind all interfaces
    bind to = 0.0.0.0:19999

    # Disable TLS if you terminate SSL at a reverse proxy (nginx/haproxy)
    ssl key  = /etc/netdata/ssl/key.pem
    ssl certificate = /etc/netdata/ssl/cert.pem

After editing, restart Netdata:

systemctl restart netdata

Step 4: Open the Firewall and Access the Dashboard

Allow port 19999 through firewalld. For internal networks this is usually acceptable; for internet-facing servers consider restricting access to specific source IPs:

# Allow all sources (suitable for internal/VPN networks)
firewall-cmd --permanent --add-port=19999/tcp
firewall-cmd --reload

# Alternatively, restrict to a specific management subnet
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" 
    source address="192.168.10.0/24" 
    port port="19999" protocol="tcp" accept'
firewall-cmd --reload

Open your browser and navigate to http://<server-ip>:19999. You will immediately see the Netdata dashboard showing live CPU, memory, disk, network, and process metrics updating every second. No login is required by default — authentication can be added via a reverse proxy if needed.

Step 5: Connect to Netdata Cloud (Optional)

Netdata Cloud provides a free hosted service that aggregates dashboards from multiple agents, provides a unified view, and enables team-based access control without exposing individual agent ports to the internet. To connect your agent:

  1. Create a free account at https://app.netdata.cloud.
  2. After logging in, click Connect Nodes and copy the provided netdata-claim.sh command. It will look similar to:
sudo /usr/libexec/netdata/netdata-claim.sh 
    -token=YOUR_CLAIM_TOKEN 
    -rooms=YOUR_ROOM_ID 
    -url=https://app.netdata.cloud
  1. Run the command on your RHEL 7 server. The agent will register itself with Netdata Cloud without any inbound port changes — it uses an outbound websocket connection.
  2. Refresh the Netdata Cloud UI and your node will appear in the Nodes tab.

Step 6: Configure Alerts

Netdata ships with hundreds of pre-configured alert rules covering disk space, CPU, memory, and common application metrics. Alert configurations live in /etc/netdata/health.d/. To create a custom alert — for example, to warn when disk usage on /var exceeds 80%:

cat > /etc/netdata/health.d/disk_var.conf <<'EOF'
# Alert when /var filesystem usage exceeds 80%
 alarm: disk_space_var
    on: disk.space
    os: linux
lookup: average -30s percentage of used
  units: %
  every: 1m
   warn: $this > 80
   crit: $this > 90
  delay: down 15m multiplier 1.5 max 1h
   info: disk utilization for /var
     to: sysadmin
EOF

Review existing alert files for syntax examples:

ls /etc/netdata/health.d/
cat /etc/netdata/health.d/cpu.conf

Step 7: Configure Notifications to Slack and Email

Netdata sends alert notifications through /etc/netdata/health_alarm_notify.conf. This file contains configuration blocks for dozens of notification providers. Edit it to enable the ones you need:

# /etc/netdata/health_alarm_notify.conf (key sections)

# Email notifications (requires a working MTA such as Postfix)
SEND_EMAIL="YES"
DEFAULT_RECIPIENT_EMAIL="[email protected]"

# Slack notifications
SEND_SLACK="YES"
SLACK_WEBHOOK_URL="https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
DEFAULT_RECIPIENT_SLACK="#alerts"

Test the notification configuration:

su -s /bin/bash netdata
/usr/libexec/netdata/plugins.d/alarm-notify.sh test email
/usr/libexec/netdata/plugins.d/alarm-notify.sh test slack

Reload Netdata to apply all configuration changes:

systemctl restart netdata
# Or, to reload health configuration without a full restart:
kill -USR2 $(pidof netdata)

Conclusion

You have installed and configured Netdata on RHEL 7, giving you second-by-second visibility into your server’s CPU, memory, disk, network, and application metrics through an always-on embedded dashboard. The dbengine storage mode provides disk-backed history well beyond the default in-memory limit, while the built-in health engine and flexible notification system mean you will receive timely alerts before problems escalate. Whether you access the dashboard directly on port 19999, aggregate multiple nodes through Netdata Cloud, or embed the metrics into a broader observability platform, Netdata delivers an unusually fast path from bare OS to actionable monitoring insight.