Skip to main content

18: Netdata Director - Multi-Server Monitoring Hub

Netdata Director is a centralized monitoring dashboard that lets you monitor multiple servers from one place. Instead of opening separate dashboards for each server, you get one unified view showing all your servers' metrics, alerts, and performance data. Think of it as a command center for all your infrastructure!

⚠️ IMPORTANT: Netdata Director is a Pro+ feature that requires a license. For single-server monitoring, use regular Netdata (Chapter 17) which is free.

For advanced features, API documentation, and customization options, see the official Netdata documentation.

Why Netdata Director?

  • One dashboard for all servers - Monitor everything from one place
  • Unified view - See all your servers' metrics together
  • Centralized alerts - Get notifications from all servers in one place
  • Historical data - Long-term storage for all monitored servers
  • Node comparison - Compare performance across servers
  • Easy management - Add or remove servers easily
  • Scalable - Monitor unlimited servers

Director vs Regular Netdata

Regular Netdata (Free)

  • ✅ Monitor individual servers separately
  • ✅ Each server has its own dashboard
  • ✅ Free and open source
  • ❌ Must open multiple dashboards for multiple servers
  • ❌ No unified view

Netdata Director (Pro+)

  • ✅ Monitor ALL servers from one dashboard
  • ✅ Unified monitoring interface
  • ✅ Centralized alerts and management
  • ✅ Historical data for all servers
  • ⚠️ Requires Pro+ license

Prerequisites

  • Pro+ License - Netdata Director requires a Pro+ license
  • Docker running (from Chapter 3)
  • Optional: Traefik installed (from Chapter 4) for HTTPS access with a domain
  • Optional: Subdomain (from Chapter 4.5), e.g., monitoring.yourdomain.com
  • Optional: Apprise installed (from Chapter 5) for alert notifications
  • Multiple servers - Director is most useful when monitoring 2+ servers

Note: Netdata Director works best with Traefik and a domain name. Having a friendly URL like monitoring.yourdomain.com makes it easy to access your centralized dashboard.

How It Works

Netdata Director uses a parent-child architecture:

Director (Parent)

  • The central dashboard server
  • Receives metrics from all child nodes
  • Displays unified view of all servers
  • Manages alerts for all servers

Child Nodes

  • Regular Netdata installations on each server
  • Stream metrics to the Director
  • Can still have their own dashboards (optional)
  • Automatically appear in Director dashboard

Step 1: Verify Pro+ License

Before installing, make sure you have a Pro+ license. The installation script will check for this automatically.

If you don't have a Pro+ license:

Step 2: Start Infinity Tools

sudo infinity-tools

Step 3: Install Netdata Director

  1. Go to 📱 APPLICATIONS
  2. Select Netdata Director
  3. Choose Install Netdata Director

Using the Infinity Tools GUI

  • Use ↑/↓ to move, Enter to select, Esc to go back
  • Look for the turquoise cursor indicating the current selection
  • Each screen shows a short description at the top explaining what's needed

Step 3.1: Choose SSL Mode

You'll see two options. Here's what each means:

  • Traefik (recommended)
    • What it is: Uses your domain name with a trusted HTTPS certificate from Let's Encrypt
    • What you need: A subdomain (e.g., monitoring.yourdomain.com) pointing to your server (see Chapter 4.5)
    • What you get: Professional URL like https://monitoring.yourdomain.com with trusted SSL
    • Pick this if: You want secure, easy access with a domain name (recommended)
  • Standalone HTTP
    • What it is: Uses HTTP with direct port access (no SSL)
    • What you need: Just a free port (default: 19999)
    • What you get: URL like http://SERVER_IP:19999
    • Pick this if: You're just testing or only using it on your local network

Step 3.2: If You Choose Traefik

  1. Enter your subdomain, e.g., monitoring.yourdomain.com
  2. Ensure the subdomain's DNS A record points to your server (see Chapter 4.5)
  3. Infinity Tools will configure HTTPS automatically via Let's Encrypt

After install: Your Netdata Director will be available at https://monitoring.yourdomain.com

Step 3.3: Apprise Notifications (Optional)

If you have Apprise installed (Chapter 5), you can enable centralized alert notifications:

  • Yes
    • What it does: Sends alerts from ALL monitored servers to Apprise
    • What you get: One notification channel for all servers
    • Pick this if: You want centralized alerting
  • No
    • What it does: No alert notifications
    • Pick this if: You just want monitoring, no alerts

Step 3.4: Save Your Stream API Key

⚠️ CRITICAL: During installation, a Stream API Key will be generated. This key is used to connect child nodes to the Director.

  • Write down the API key immediately!
  • Save it in a password manager (like Vaultwarden)
  • You'll need this key when configuring child nodes
  • The key is also saved in: /opt/speedbits/netdata-director/stream-api-key.txt

What Happens During Installation

  • Netdata Director container is created
  • Data directories are set up at /opt/speedbits/netdata-director
  • Stream API key is generated and saved
  • Optional domain + Traefik HTTPS routing (if using Traefik)
  • Optional Apprise integration (if enabled)
  • Service starts and becomes accessible

Step 4: Access Netdata Director

If Using Traefik

  1. Wait 30-60 seconds for SSL certificate generation
  2. Open https://monitoring.yourdomain.com in your browser
  3. You'll see the Director dashboard!

If Using Standalone

  1. Open http://SERVER_IP:19999 in your browser
  2. You'll see the Director dashboard!

⚠️ IMPORTANT SECURITY NOTE: Netdata Director has NO username/password protection by default! However, you CANNOT use Basic Auth because it blocks child nodes from streaming data. Instead, use firewall rules, VPN access, or Netdata Cloud for security.

Step 5: Connect Child Nodes

Now that Director is running, you need to connect your other servers (child nodes) to it.

On Each Server You Want to Monitor

  1. SSH into the server
  2. Run: sudo infinity-tools
  3. Go to 📱 APPLICATIONSNetdataInstall
  4. When asked about streaming, choose Yes
  5. Enter Director details:
    • Director hostname/IP: The Director server's IP or domain
    • Director port: 19999 (or your custom port)
    • Stream API key: The key you saved during Director installation
  6. Complete the installation

What Happens Next

  • Child node starts streaming metrics to Director
  • Wait 1-2 minutes for connection to establish
  • Child node appears in Director dashboard dropdown
  • You can now switch between servers in the Director dashboard!

Step 6: Using the Director Dashboard

Switching Between Servers

  1. Open the Director dashboard
  2. Look for a dropdown menu (usually top-left or top-right)
  3. Select a server from the dropdown
  4. Dashboard updates to show that server's metrics

What You'll See

  • 📊 Unified view - All servers listed in dropdown
  • 📈 Real-time metrics - Same as regular Netdata, but for all servers
  • 🔔 Centralized alerts - Alerts from all servers
  • 📉 Historical data - Long-term storage for all servers
  • 🔍 Node comparison - Compare metrics across servers

Security Recommendations

  • Use Traefik mode - Provides trusted SSL certificates
  • Firewall protection - Restrict access to trusted IPs only
  • VPN access - Use WireGuard VPN (Chapter 18) for secure remote access
  • Keep API key secret - Only share with trusted servers
  • ⚠️ NO Basic Auth - Cannot use Basic Auth (blocks child nodes)
  • ⚠️ Protect Director - Director shows ALL server metrics - protect it!

Security Options

Since Basic Auth doesn't work with Director, use these alternatives:

  • Option 1: Firewall (Best)
    • Use UFW to allow only trusted IPs
    • Example: ufw allow from CHILD_NODE_IP to any port 443
  • Option 2: VPN/WireGuard
    • Access Director only through WireGuard VPN
    • Keep Director on internal network
  • Option 3: Netdata Cloud

Troubleshooting

Can't Access Director

  • Traefik mode: Wait 30-60 seconds after installation for SSL certificate generation
  • Check containers: Run docker ps | grep netdata-director to see if container is running
  • Check logs: Run docker logs netdata-director to see error messages

Child Nodes Not Appearing

  • Wait 1-2 minutes after connecting (connection takes time)
  • Verify API key is correct on child node
  • Check network connectivity between child and Director
  • Check Director logs: docker logs netdata-director
  • Verify child node is streaming: Check child node logs

Lost API Key

  • View saved key: cat /opt/speedbits/netdata-director/stream-api-key.txt
  • Or check Director configuration: cat /opt/speedbits/netdata-director/netdata/stream.conf

Where to Find Netdata Director After Install

  • On the finish screen, Infinity Tools prints the access URL
  • You can also see it in 📊 STATUS & HEALTH → STATUS
  • Check the installation directory: /opt/speedbits/netdata-director
  • API key saved in: /opt/speedbits/netdata-director/stream-api-key.txt
  • Configuration files: /opt/speedbits/netdata-director/netdata/

Useful Features

Data Retention

Director stores historical data for all servers:

  • High-resolution: 1 hour (1-second granularity)
  • Mid-resolution: 1 day (1-minute granularity)
  • Low-resolution: 30 days (15-minute granularity)

Centralized Alerts

If Apprise is enabled, you'll get alerts from all servers:

  • Alerts include server hostname
  • One notification channel for all servers
  • Easier to manage than individual alerts

You're Ready!

Netdata Director is now installed and ready to monitor multiple servers! Remember:

  • 🔐 Protect your Director with firewall or VPN (cannot use Basic Auth)
  • 🔑 Keep your Stream API key secret
  • 📊 Connect child nodes to start monitoring
  • 🔔 Set up centralized alerts for all servers
  • 📈 Use the unified dashboard to monitor everything

Next steps: Connect your first child node, verify it appears in the dashboard, and start monitoring all your servers from one place!