Skip to content
VDS · 监控与性能

Netdata:详细的机器指标

如何在 VDS 上安装 Netdata,限制外部人员访问,以及当控制面板中的图表不够用时该看什么。

更新于 2026年8月23日

/hosting/vds/m/<id> 控制面板中的图表回答的是“机器是否处于高负载?”这个问题。当您需要回答“具体是什么、在哪一秒”时,就安装 Netdata:它以一秒为间隔采集数百项指标,并在浏览器中直接渲染,无需任何配置。

安装

curl -Ss https://my-netdata.io/kickstart.sh -o /tmp/netdata-kickstart.sh
sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry

脚本会自动识别您的系统并安装软件包。Debian 和 Ubuntu 还有仓库版本(apt install -y netdata)——它版本较旧,但会随系统一起更新。

Netdata 会占用相当多的内存:在 2 GB 的 VDS-1 上,请为它设置限制,否则它会与您的应用争抢资源。只需在 /etc/netdata/netdata.conf 中缩短历史数据保留时间即可:

[db]
    mode = dbengine
    dbengine multihost disk space MB = 256

修改完成后,执行 systemctl restart netdata。

关闭外部访问

默认情况下,Netdata 监听所有地址的 19999 端口。您不能让它保持开放:没有密码保护的界面会暴露机器的全部内部情况,甚至包括进程列表和活动连接。

在 /etc/netdata/netdata.conf 中将其绑定到 localhost:

[web]
    bind to = 127.0.0.1

要查看它,请从您的电脑建立 SSH 隧道:

ssh -L 19999:127.0.0.1:19999 root@YOUR_ADDRESS

然后在浏览器中打开 http://127.0.0.1:19999。如果您需要长期的外部访问,请将 Netdata 放在带密码和证书的 Nginx 后面,并在防火墙中关闭 19999 端口。

需要监控什么

  • CPU → 使用率及其细分:iowait 高说明是磁盘,steal 说明节点存在资源争抢,system 说明内核开销,通常来自网络。
  • 磁盘 → 积压和 await——磁盘队列。请将其与您所在档位的限制进行对比,参见磁盘负载。
  • 内存 → 可用量以及 swap 部分。持续增长说明存在内存泄漏。
  • 应用程序——按进程组统计的消耗。正是这一部分回答了“该怪谁”,即使事后也能查。
  • 告警——内置阈值。Netdata 自身会高亮显示磁盘写满、队列过热和服​​务故障。

邮件或 Telegram 通知在 /etc/netdata/health_alarm_notify.conf 中配置——设置收件人并启用所需渠道。

常见错误

  • 将 19999 端口开放到互联网。 这会泄露您的基础设施信息,有时还会成为攻击入口。检查:ss -tulpn | grep 19999。
  • 在 VDS-1 上安装 Netdata,然后惊讶于内存不足。 在默认设置下它会占用数百兆字节。请限制历史数据,或者放弃它,改用一次性工具。
  • 把 Netdata 当作外部监控的替代品。 它与您的服务运行在同一台机器上:如果机器宕机,您将无从得知。外部监控请参见文章网站宕机提醒。
  • 将历史数据保留数月。 指标数据库会不断写入磁盘,增加后台负载。对 VPS 来说,几天就足够了。

Millida 控制面板与 Netdata 并不冲突:前者从外部观察虚拟机,即使系统卡死也能工作;后者则从内部提供细节。两者都保留吧。