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:
- Visit: https://speedbits.io/infinity-tools/
- Email: sales@speedbits.io
- Support: support@speedbits.io
Step 2: Start Infinity Tools
sudo infinity-tools
Step 3: Install Netdata Director
- Go to 📱 APPLICATIONS
- Select Netdata Director
- 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.comwith 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
- Enter your subdomain, e.g.,
monitoring.yourdomain.com - Ensure the subdomain's DNS A record points to your server (see Chapter 4.5)
- 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
- Wait 30-60 seconds for SSL certificate generation
- Open
https://monitoring.yourdomain.comin your browser - You'll see the Director dashboard!
If Using Standalone
- Open
http://SERVER_IP:19999in your browser - 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
- SSH into the server
- Run:
sudo infinity-tools - Go to 📱 APPLICATIONS → Netdata → Install
- When asked about streaming, choose Yes
- 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
- 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
- Open the Director dashboard
- Look for a dropdown menu (usually top-left or top-right)
- Select a server from the dropdown
- 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
- Use Netdata's official cloud service
- Includes authentication and team management
- Visit: https://app.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-directorto see if container is running - Check logs: Run
docker logs netdata-directorto 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!
No comments to display
No comments to display