Linux服务器如何安装Netdata
网站和应用需要持续运行,服务器监控也应成为日常维护的一部分。无论只管理一台VPS,还是同时维护多台Linux服务器,及时了解CPU、内存、磁盘和网络的变化,都有助于发现异常并缩短排查时间。
Netdata是一款开源监控工具,提供实时指标、可视化看板和告警功能。配合Netdata Cloud,还可以在同一个页面查看多台服务器,无需逐台登录。
对于使用RackNerd Linux KVM VPS的用户,可以利用root权限自行安装Netdata,监控网站、数据库及服务器资源。以下操作适用于具有root或sudo权限的Linux服务器,不适用于无法自行安装系统服务的共享主机账户。
一、为什么选择Netdata?
Netdata适合希望快速建立服务器监控的开发者和网站管理员,主要功能包括:
- 实时指标:查看CPU、内存、磁盘和网络等资源使用情况。
- 自动生成看板:自动发现部分服务并展示指标,减少手动配置。
- 应用监控:可以扩展到数据库、Web服务器等服务,具体采集项可能需要配置权限或连接信息。
- 集中查看:将多台服务器接入统一界面,方便切换和排查。
- 告警通知:在指标异常时,通过邮件或其他通知渠道提醒管理员。
监控程序本身也会消耗资源。使用小内存VPS时,应关注Netdata的实际占用,并按需调整采集项目和数据保留策略。
二、在Linux VPS上安装Netdata
先登录RackNerd VPS,确认账户具有root或sudo权限。原文采用Netdata安装脚本部署,可以在Bash中执行:
bash <(curl -Ss https://get.netdata.cloud/kickstart.sh)
安装过程中,脚本会识别系统环境,选择适用的安装方式,并完成Agent安装。执行远程脚本前,应确认地址正确,并按需检查脚本内容。
安装结束后,在使用systemd的服务器上查看服务状态:
systemctl status netdata --no-pager
普通用户执行需要管理权限的命令时,应添加sudo。
Netdata的本地Web服务通常使用19999端口,可以先在服务器上验证:
curl -I http://127.0.0.1:19999/
确认服务运行后,再配置访问限制。不要为了查看看板,直接向所有公网地址开放监控端口。
三、限制Netdata看板的访问范围
监控页面可能包含服务器运行状态和应用信息。正式使用前,应明确哪些地址可以访问。
1. 使用防火墙限制管理IP
如果服务器使用UFW,可以只允许管理IP访问19999端口:
sudo ufw allow from YOUR_MANAGEMENT_IP to any port 19999 proto tcp
将YOUR_MANAGEMENT_IP替换为实际的管理端公网IP,不要原样执行。
随后检查现有规则:
sudo ufw status numbered
这条允许规则需要与已启用的防火墙、默认入站限制配合使用。如果原来存在向所有来源开放19999的规则,仅增加管理IP规则并不会取消原有开放范围。
修改防火墙前,还要确认服务器管理连接所需的端口仍然允许访问,避免把自己锁在服务器外。
2. 使用带认证的反向代理
也可以通过Nginx或Apache提供访问入口,并配置HTTPS和身份验证。
如果采用反向代理,应将Netdata监听地址限制为本机回环地址,避免用户绕过代理直接访问19999端口。在Netdata配置文件的[web]部分设置:
[web]
bind to = 127.0.0.1
修改后重启服务:
sudo systemctl restart netdata
在已经配置HTTPS的Nginx站点中,可以使用以下片段转发请求:
location /netdata/ {
auth_basic "Netdata";
auth_basic_user_file /etc/nginx/.netdata_htpasswd;
proxy_pass http://127.0.0.1:19999/;
proxy_set_header Host $host;
}
其中,/etc/nginx/.netdata_htpasswd需要提前创建并写入认证用户。该片段不包含完整的域名、证书和密码文件配置,不能单独代替HTTPS站点配置。
修改完成后,检查Nginx配置,再重新加载:
sudo nginx -t
sudo systemctl reload nginx
四、通过Netdata Cloud集中查看服务器
Netdata Cloud可以将多台服务器的监控信息集中展示。注册账户后,进入添加节点页面,获取当前界面提供的连接命令。
不同安装方式和版本的连接命令可能有所差异,应直接复制控制台生成的命令。原文使用的形式如下:
netdata-claim.sh \
-token=YOUR_CLAIM_TOKEN \
-rooms=YOUR_ROOM_ID \
-url=https://app.netdata.cloud
将其中的Token和Room ID替换为控制台提供的值。连接凭证不要放入公开文档或代码仓库。
在其他Linux服务器上重复安装和连接操作后,即可集中查看节点,并进入单台服务器的看板分析具体指标。Cloud的可用功能、团队权限和费用应以账户当前显示的套餐为准。
需要区分的是,接入Cloud提供集中访问界面,并不等于已经配置了将所有指标流式传输到一台自建父节点的架构。
五、配置告警和通知
Netdata提供预设告警,可以在此基础上调整阈值和通知方式。
常见的告警配置目录为:
/etc/netdata/health.d/
可以在该目录中编辑需要调整的自定义规则文件。例如:
sudo nano /etc/netdata/health.d/custom.conf
这个命令只负责打开文件,告警规则仍需要按对应指标编写。不要直接复制其他服务器的阈值,CPU负载、磁盘使用率等指标应结合当前实例规格和业务情况设置。
修改后,可以通过重启服务加载配置:
sudo systemctl restart netdata
Agent本地通知配置通常位于:
/etc/netdata/health_alarm_notify.conf
打开文件:
sudo nano /etc/netdata/health_alarm_notify.conf
根据所选渠道配置邮件地址、Webhook或其他必要参数。可使用的通知集成取决于实际安装版本;Cloud通知则需要在对应的Cloud设置中管理。
配置完成后,应实际验证通知能否送达。看板中出现告警,不代表邮件或消息一定发送成功。
六、生产环境使用建议
Netdata上线后,还需要定期维护:
- 保持Agent更新,升级前检查变更信息。
- 通过日志轮转和指标保留配置控制磁盘占用,不直接删除正在使用的数据文件。
- 检查新增服务是否被正确采集,关闭不需要的采集项。
- 按团队职责分配访问权限,具体权限能力以Cloud套餐为准。
- 定期验证告警通知,及时更新失效的邮箱或Webhook。
如果同时维护多台RackNerd VPS,可以先在一台测试实例上完成安装、访问控制和通知验证,再逐步接入其他业务服务器。
七、在RackNerd VPS上搭建自己的监控环境
希望自行管理Linux环境的用户,可以使用RackNerd KVM VPS部署Netdata。拥有root权限后,可以根据网站和数据库的实际情况安装采集组件、调整告警规则,并配置自己的访问入口。
单台VPS可以先监控自身资源,多台服务器则可以接入Netdata Cloud统一查看。选择实例时,应为网站、数据库和监控程序预留足够的内存与磁盘空间,避免监控服务与业务争抢资源。
需要部署环境,可以了解RackNerd KVM VPS,并根据业务规模选择合适的Linux实例。 Windows VPS需要采用对应平台支持的部署方式,不能直接照搬本教程的Linux命令。
RackNerd官网地址:点击直达