Netdata 是一个开源的实时基础设施监控平台,在 GitHub 上拥有 80.4k Star 与 6.6k Fork,是 CNCF(云原生计算基金会)成员项目。它的核心特点是三项:每秒级数据采集、边缘端机器学习异常检测、极低资源占用。默认配置下,它只消耗约 5% CPU 和 150MiB 内存,却能对主机上几乎一切指标进行实时监控与可视化。项目最新版本 v2.11.0 于 2026 年 8 月 12 日发布。
起源:一次无法定位的故障
Netdata 的诞生源于一次失败的排障经历。2013 年,创始人 Costa Tsaousis 在公司担任 COO 期间,相当比例的云交易在后台静默失败,团队试遍了当时市面上的监控工具,都没能找到根因。Tsaousis 后来写道,他无法接受监控系统指标稀少、采样率低、难以扩展且运行成本高昂,于是决定从零编写自己的监控工具。此后,Netdata 从个人项目成长为 626 位贡献者参与的开源项目,累计 23,290 次提交,发布了 138 个版本。
每秒级采集与自动发现
Netdata 的核心能力管线覆盖收集、存储、学习、检测、告警、流式传输与导出。它支持 800+ 集成,覆盖系统资源、容器、虚拟机、硬件传感器、数据库、Web 服务器(nginx、apache、postgres、redis、mongodb 等)与云平台(AWS、GCP、Azure)。安装后它会自动发现节点上运行的组件,无需手动配置采集器,部署完成即开始每秒采集,并以约 1 秒延迟刷新可视化面板。
日志方面,Netdata 直接对接 systemd-journald 与 Windows Event Log,在边缘侧处理日志,不需要把日志集中上传到中心。
边缘 ML:每个指标一个模型
Netdata 的异常检测在边缘完成:它在每个节点上为每个指标单独训练无监督机器学习模型,基于该指标自身的历史行为识别异常,而不是用共享模型做粗粒度判断。这意味着异常检测可以在本地离线运行,指标数据不必离开主机。项目还提供评分引擎,用于跨指标查找模式与关联。
资源占用与存储设计
官方给出的默认生产负载约为 5% CPU + 150MiB RAM;关闭机器学习与告警、改用临时存储时,占用可降到 1% CPU 以下、约 100MiB 内存。存储采用分层时间序列设计:Tier 0 保存每秒分辨率数据,Tier 1 保存每分钟,Tier 2 保存每小时,查询时按缩放级别自动选择对应层级。平均每采样点占用约 0.5 字节,数据每 17 分钟落盘一次并做 ZSTD 压缩,也可以配置为完全驻留内存,或流式发送给 Parent 节点。
阿姆斯特丹大学 2023 年发表的研究(ICSOC 2023)对比多种 Docker 监控方案后认为,Netdata 是最节能的 Docker 监控工具,在 CPU、内存与执行时间指标上均优于同类方案。
从单机到多云:三层架构
Netdata 生态由三部分组成:Agent(核心监控引擎,许可协议为 GPLv3,负责采集、存储、ML、告警与导出)、Parent(集中式节点,负责横向扩展与更长留存)、Netdata Cloud(可选的企业层,提供远程访问、SSO 与集中告警,有免费社区版)。节点数据默认保存在本地,不需要集中收集。
与 Prometheus + Grafana 的定位差异
与常见的 Prometheus + Grafana 组合相比,Netdata 的定位是开箱即用的完整方案:自带仪表盘、内置告警规则与 ML 异常检测,不需要先搭建查询语言、再手工绘制告警面板。作为补充,它也支持把指标导出到 Prometheus、InfluxDB、OpenTSDB、Graphite 等系统,可以和现有监控体系共存。
结论
Netdata 适合希望以最低成本获得全栈实时可观测性的团队:安装零配置、指标每秒级精度、异常检测开箱即用、资源占用约 5% CPU + 150MiB 内存,且数据默认保留在本机。它的核心取舍是"完整方案换省心"——如果你不想在监控体系搭建上投入大量时间,它可以作为主力监控方案;如果已有 Prometheus 体系,也可以作为补充性实时监控层。