Prometheus+Grafana监控中转流量与负载

核心答案

使用 Prometheus + Grafana 可以实时监控中转服务器(如 VPN 网关、代理节点)的网卡进出流量系统负载(CPU、内存、磁盘 IO)。
部署方式为:在被监控服务器上运行 Node Exporter 采集指标,Prometheus 定期拉取,Grafana 连接 Prometheus 数据源并导入预置仪表盘即可展示。
整个过程不需要编程基础,按下文步骤操作即可在 30 分钟内完成。

为什么需要监控中转流量与负载

中转服务器承担着数据转发任务,流量突变负载飙升直接影响整体网络质量。
通过 Prometheus+Grafana 组合,你可以:

  • 实时查看接收/发送流量曲线,判断是否接近带宽上限。
  • 监控CPU 使用率、内存占用、磁盘 I/O,提前发现资源瓶颈。
  • 设置告警规则,在流量异常或负载过重时第一时间收到通知。

环境准备

  • 一台基于 Linux(Ubuntu 20.04 / CentOS 7+)的中转服务器,已开启 SSH。
  • 准备一台(或同机部署)用于运行 Prometheus 和 Grafana 的机器,建议内存 ≥2GB。
  • 确保服务器出站防火墙允许 Prometheus 所在机器访问 Node Exporter 的 9100 端口
如果对服务器选型不确定,像 泽御云 提供的云服务器就支持弹性带宽和独立 IP,适合放置中转服务与监控系统。

步骤一:安装 Node Exporter

在所有需要监控的中转服务器上执行:

# 下载 Node Exporter(以最新版 1.7.0 为例,实际请到官方 GitHub 确认)
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz

# 解压并移动
 tar xvf node_exporter-1.7.0.linux-amd64.tar.gz
sudo mv node_exporter-1.7.0.linux-amd64/node_exporter /usr/local/bin/

创建 systemd 服务,确保开机自启:

sudo cat > /etc/systemd/system/node_exporter.service <

验证是否运行:curl http://localhost:9100/metrics 应有大量指标输出。

步骤二:部署 Prometheus

在计划运行 Prometheus 的机器上操作:

# 下载 Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.51.0/prometheus-2.51.0.linux-amd64.tar.gz
 tar xvf prometheus-2.51.0.linux-amd64.tar.gz
sudo mv prometheus-2.51.0.linux-amd64 /etc/prometheus

编辑 Prometheus 配置文件 /etc/prometheus/prometheus.yml

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['中转服务器IP:9100']   # 可添加多个

配置中可添加多个中转服务器 IP,用逗号分隔。
然后启动 Prometheus:

sudo /etc/prometheus/prometheus --config.file=/etc/prometheus/prometheus.yml &

建议同样写成 systemd 服务,此处从简。
访问 http://本机IP:9090/targets 确认 node 任务状态为 UP

步骤三:安装 Grafana 并导入仪表盘

  1. 安装 Grafana(以 Ubuntu 为例):
sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install -y grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
  1. 浏览器访问 http://本机IP:3000,默认账号密码 admin/admin
  2. 添加数据源:Configuration → Data Sources → Add data source → 选择 Prometheus,URL 填 http://localhost:9090(如果在本机),点击 Save & Test。
  3. 导入仪表盘:官方推荐 Node Exporter Full(ID 1860)或 Linux Hosts Metrics(ID 11074)。点击左侧 + → Import → 输入 ID → Load → 选择数据源 → Import。

现在就能看到中转服务器的总网络流量、CPU、内存、磁盘等图表。
如需重点查看流量,可自定义 Panel,选择指标 node_network_receive_bytes_totalnode_network_transmit_bytes_total

避坑指南

  • 防火墙 / 安全组:必须放开 Node Exporter 的 9100 端口(TCP),Prometheus 的 9090 端口,Grafana 的 3000 端口。
  • 数据持久化:Prometheus 默认数据存储在 data/ 目录,重启不会丢失;建议定期备份或配置远程存储。
  • 时间同步:所有服务器需保持时间一致(使用 NTP),否则指标时间戳偏差会导致图表为空。
  • 流量单位:Grafana 默认显示字节(Bytes),可在 Panel 设置中改为 bits 或自动单位。

常见问题解答

Q1:Grafana 图表显示“No data”怎么办?
先检查 Prometheus Targets 是否全部 UP。如果目标状态正常,确认 Grafana 数据源 URL 是否正确(建议用 IP 而非 localhost)。也可以直接在 Prometheus 查询栏中测试指标,比如输入 node_network_receive_bytes_total 看是否有数据。

Q2:如何监控特定网卡(如 eth0)的流量?
在 Grafana 面板编辑查询时,添加过滤条件 device=~"eth0" 即可只显示指定网卡。

Q3:Node Exporter 是否需要 root 权限?
无需 root,使用 nobody 用户运行即可。如果需要采集磁盘统计等高级指标,可添加 --collector.diskstats 等参数。

Q4:能否监控多台中转服务器?
可以。在 prometheus.ymltargets 列表中添加多台服务器 IP:9100,每台都会显示在 Grafana 中(可通过标签区分)。

结语

通过以上步骤,你已经可以直观地掌握中转服务器的流量与负载趋势。
这套方案完全开源、扩展性强,后续还可增加告警(Alertmanager)和长期存储(Thanos)。
如果部署中遇到网络或权限问题,建议优先检查防火墙规则和 systemd 服务状态。
对于需要稳定运行的监控系统,选择合规的云服务商(如具备 IDC/ISP 资质的 泽御云)能有效减少环境层面的故障。

分享到:
上一篇
AIOps智能运维实现故障自愈系统搭建
下一篇
Redis集群缓存外贸站点大幅提升访问速度
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意