Netdata 在 Linux 上采用“拉取并运行”模式而非传统安装,官方不推荐 apt/yum 安装因其提供冻结旧版本、配置易冲突、卸载不干净;推荐一键脚本部署至 /opt/netdata,支持自动更新、路径隔离与容器化运行。

Netdata 在 Linux 上不是“安装”,而是“拉取并运行”——它没有传统意义上的 install 步骤,官方也不推荐用包管理器装(除非你明确需要旧版或离线环境)。
为什么不用 apt/yum 安装 netdata
Debian/Ubuntu 的 apt install netdata 和 CentOS 的 yum install netdata 默认提供的是冻结版本(比如 Ubuntu 22.04 仓库里还是 v1.34),缺少新指标、安全修复和容器支持。更关键的是:这些包把配置文件、数据目录、服务单元全塞进系统路径,升级时容易冲突,卸载不干净。
常见错误现象:netdata -v 显示版本低于 1.40,但 curl https://myserver:19999 打不开;或者改了 /etc/netdata/netdata.conf 却没生效——其实是 systemd 启动时加载了内置默认配置,压根没读这个文件。
- 官方维护的二进制包自带自更新机制,
netdata-updater每周自动拉新版 - 一键脚本部署路径固定(
/opt/netdata),配置、日志、web 文件全部隔离 - 如果你在容器里跑,直接
docker run -d --name=netdata -p 19999:19999 --restart=always --cap-add=SYS_PTRACE --security-opt apparmor=unconfined netdata/netdata就完事,根本不用碰宿主机
用一键脚本部署(最常用场景)
这是绝大多数人该走的路:不依赖系统包,不编译,5 秒完成,权限干净,后续升级无感。
执行前确认:curl 和 bash 已就位,普通用户有 sudo 权限(脚本内部会自动提权)。
- 运行:
bash - 脚本默认监听所有接口(
bind socket to :19999),如需限制访问,改/etc/netdata/netdata.conf中的bind to行,比如写成bind to = 127.0.0.1:19999 - 启动后检查:
sudo systemctl status netdata,看到active (running)且无Failed行即可 - 首次访问
http://your-server-ip:19999可能要等 10–20 秒——它在后台自动检测硬件、收集进程、初始化数据库,不是卡死
启动失败常见原因和对应检查点
最常卡在 “service failed to start” 或浏览器显示连接被拒绝,别急着重装,先看这三处:
-
sudo journalctl -u netdata -n 50 --no-pager—— 看最后一屏报错,90% 是端口被占(Address already in use)或内存不足(Cannot allocate memory) -
sudo ss -tlnp | grep ':19999'—— 确认没其他程序(比如旧 netdata 实例、nginx、python http server)霸占了 19999 -
free -h和cat /proc/sys/vm/overcommit_memory—— Netdata 默认最多吃 1% 内存,但小内存机器(echo 1 | sudo tee /proc/sys/vm/overcommit_memory
想关掉 Web UI 或只监控本地
不是所有服务器都需要对外暴露性能面板,尤其在生产环境。Netdata 默认开 Web,但关它不靠删文件或停服务,而是改配置。
- 编辑
/etc/netdata/netdata.conf,找到[web]段,把bind to改成127.0.0.1:19999,再sudo systemctl restart netdata - 如果连本地都不想开 HTTP,设
mode = none(同在[web]下),此时只能通过netdata-cli或 API(curl http://127.0.0.1:19999/api/v1/info)取数据 - 注意:
mode = none不影响指标采集和日志输出,只是关掉 HTTP server,不影响 exporter 功能(比如 Prometheus 还是能scrapehttp://localhost:19999/api/v1/allmetrics?format=prometheus)
真正麻烦的从来不是“怎么装”,而是装完发现 CPU 被吃掉 5%,或者某台低配 VPS 上跑了两天就 OOM——那多半是没关掉不需要的插件(比如 apps.plugin 在大量进程时很耗资源),或者没调 history 时长。这些细节不在安装步骤里,但在第一次打开 http://localhost:19999/netdata.conf 编辑器时就得盯住。


















