DU
Digital Universe
Back to Blog
Monitoring2025-01-057 min read

VPS Monitoring with Netdata: Complete Setup Guide

Set up real-time monitoring for your Hetzner VPS with Netdata. Track CPU, RAM, disk, Docker containers, and get alerts before problems become outages.

Why Monitor Your VPS?

If you're self-hosting, you're the operations team. Without monitoring, you won't know something is wrong until users complain — or worse, until the server goes down.

Netdata: Real-Time Monitoring

Netdata is an open-source monitoring tool that installs in seconds and provides thousands of metrics out of the box:

  • CPU, RAM, disk, network utilization
  • Docker container metrics
  • Per-process resource usage
  • Disk I/O and latency
  • Network connections and bandwidth
  • System logs

Installation

One command:

curl https://get.netdata.cloud/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --stable-channel

After installation, Netdata runs on port 19999:

http://your-server-ip:19999

Securing the Dashboard

Never expose Netdata to the public internet. Options:

1. Firewall restriction: Only allow your IP

sudo ufw allow from YOUR_HOME_IP to any port 19999 comment 'Netdata'

2. Reverse proxy with auth: Put it behind Coolify's Traefik with basic auth

3. Netdata Cloud: Connect to their free cloud dashboard (no port exposure needed)

Docker Container Monitoring

Netdata automatically detects and monitors Docker containers. You'll see:

  • CPU and memory usage per container
  • Network I/O per container
  • Container health status
  • Restart counts

This is invaluable when running Coolify + Mailcow + multiple apps.

Key Metrics to Watch

For a self-hosted stack:

MetricWarningCritical
CPU usage> 80% sustained> 95%
RAM usage> 85%> 95%
Disk usage> 80%> 90%
Disk I/O wait> 20%> 40%
Load average> vCPU count> 2x vCPU count

Alerting

Netdata includes built-in alerts. Configure notifications to email, Slack, Discord, or Telegram.

Edit /etc/netdata/health_alarm_notify.conf:

# Email notifications
EMAIL_SENDER="netdata@yourdomain.com"
DEFAULT_RECIPIENT_EMAIL="your@email.com"

# Discord webhook
DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/..."

Alternatives

If Netdata isn't your style:

  • Prometheus + Grafana: More powerful but more complex to set up
  • Uptime Kuma: Simple uptime monitoring (great alongside Netdata)
  • Glances: Terminal-based monitoring (no web UI)

Our Recommendation

Install both Netdata (real-time server metrics) and Uptime Kuma (external uptime checks). Together they cover:

  • "Is the server healthy?" (Netdata)
  • "Is the service reachable?" (Uptime Kuma)

Our complete guide includes monitoring setup as part of the full stack — including alerts, dashboard configuration, and integration with Coolify.

#monitoring#netdata#hetzner#vps#observability

Want the Complete Setup Guide?

This blog post covers the basics. Our premium guide includes step-by-step commands, exact configurations, and the solutions to every gotcha we encountered.