免费安装Netdata实时监控VPS服务器

Netdata 是面向个人VPS管理员和小型团队的最佳免费实时服务器监控工具。它每秒采集CPU、内存、磁盘和网络指标,并在美观易用的仪表板上实时展示,完全免费。

什么是Netdata及为何使用

Netdata是自2013年开始开发的开源系统监控软件,目前在全球超过100万个系统上运行。其主要优势包括:

适合人群: 个人VPS管理员、初创公司和开发者,无需投入时间配置复杂的Prometheus + Grafana即可获得强大的监控能力。

系统要求

组件最低要求推荐配置
操作系统Ubuntu 20.04+ / Debian 10+Ubuntu 22.04 LTS
内存512 MB1 GB或更多
CPU1核2核或更多
磁盘1 GB(保留1天数据)5 GB(保留7天数据)
端口19999(本地或反向代理)Nginx反向代理 + HTTPS

AsiaGB所有1 GB内存以上的VPS套餐均完全兼容Netdata。

在Ubuntu/Debian上安装Netdata

方法一:使用kickstart脚本(推荐,最快)

在您的VPS上运行以下命令,约需2-5分钟:

wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh
sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry

参数说明:

方法二:通过包管理器安装

curl -fsSL https://packagecloud.io/netdata/netdata/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/netdata.gpg
echo "deb https://packagecloud.io/netdata/netdata/ubuntu/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/netdata.list
sudo apt-get update
sudo apt-get install -y netdata

验证安装

sudo systemctl status netdata
# 应显示:Active: active (running)

设置开机自启

sudo systemctl enable netdata

访问监控面板

Netdata默认在所有网络接口的19999端口监听,可立即通过以下地址访问:

http://您的VPS_IP:19999
注意: 默认情况下,Netdata未设置任何身份验证即可公开访问。如果您的VPS直接连接互联网,请在正式使用前配置安全措施。

SSH隧道(最安全的方式)

# 在本地电脑上运行
ssh -L 19999:localhost:19999 user@您的VPS_IP -N

# 然后在浏览器访问
http://localhost:19999

使用Nginx配置安全访问

使用Nginx反向代理,通过HTTPS和基本身份验证安全访问Netdata:

第一步:限制Netdata仅监听本地

编辑 /etc/netdata/netdata.conf

[web]
    bind to = 127.0.0.1
sudo systemctl restart netdata

第二步:创建Nginx虚拟主机

server {
    listen 443 ssl;
    server_name monitor.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/monitor.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/monitor.yourdomain.com/privkey.pem;

    auth_basic "Netdata Monitoring";
    auth_basic_user_file /etc/nginx/.htpasswd;

    location / {
        proxy_pass http://127.0.0.1:19999;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

第三步:创建密码文件

sudo apt install -y apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd admin

配置告警通知

Netdata内置超过400个预设告警模板,编辑 /etc/netdata/health_alarm_notify.conf 配置Telegram通知:

SEND_TELEGRAM="YES"
TELEGRAM_BOT_TOKEN="您的机器人TOKEN"
TELEGRAM_CHAT_ID="您的聊天ID"
sudo systemctl restart netdata

测试告警

sudo -u netdata /usr/libexec/netdata/plugins.d/alarm-notify.sh test telegram

关键监控指标

类别指标告警阈值
CPUuser, system, iowaitiowait > 20% 表示磁盘瓶颈
内存used, cached, bufferedused > 85% 表示内存不足
磁盘I/Oreads, writes, utilizationutilization > 80% 表示性能下降
网络received, sent, packets带宽接近ISP上限
系统负载load1, load5, load15load15 > CPU核心数
进程running, blockedblocked > 10 表示I/O问题
专业提示: 重点关注VPS上的CPU steal指标。如果steal持续超过10%,说明虚拟机管理程序正在限制您的CPU资源,需要升级套餐或更换服务提供商。

Netdata vs Prometheus/Grafana对比

工具安装难度实时性资源消耗适用场景
Netdata⭐⭐⭐⭐⭐ 非常简单1秒~150 MB内存个人VPS、中小企业
Prometheus + Grafana⭐⭐ 复杂15秒以上500+ MB内存企业级、集群
Zabbix⭐⭐⭐ 中等30秒以上300+ MB内存企业级
htop/top⭐⭐⭐⭐⭐ 非常简单实时极少快速排查,无历史记录

常见问题

Netdata能在低配VPS上运行吗?

可以。Netdata只需100-200 MB内存,CPU占用不到1%,适合所有1 GB内存以上的VPS。

Netdata真的完全免费吗?

Netdata Agent采用Apache 2.0开源许可证,100%免费,自托管使用无任何限制。企业级Netdata Cloud为付费订阅,但非必须。

如何更新Netdata?

sudo /usr/libexec/netdata/netdata-updater.sh

Netdata保留多长时间的历史数据?

默认在内存中保留约1小时的数据。可以通过配置 /etc/netdata/netdata.conf 中的dbengine模式,将数据持久化到磁盘保留数月。

可以在Docker中运行Netdata吗?

docker run -d --name=netdata \
  -p 19999:19999 \
  -v netdataconfig:/etc/netdata \
  -v /proc:/host/proc:ro \
  -v /sys:/host/sys:ro \
  --cap-add SYS_PTRACE \
  netdata/netdata

总结

完整安装清单

  1. 安装:sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry
  2. 将19999端口限制为仅本地访问
  3. 配置Nginx反向代理 + HTTPS
  4. 设置基本身份验证
  5. 配置Telegram/邮件告警
  6. 通过 https://monitor.yourdomain.com 访问面板

Netdata是为每台VPS投资5分钟最值得的事情之一,它能让您在用户发现问题或网站宕机之前就发现并解决服务器故障。

如果您正在寻找可靠的VPS来运行Netdata,欢迎了解 AsiaGB VPS — SSD存储,99%正常运行时间,泰国和新加坡机房可选,提供中文支持。