在腾讯云CVM(Cloud Virtual Machine)实例上实时监控网络带宽和流量消耗,可通过腾讯云原生监控 + 操作系统级工具 + 可选自建方案组合实现。以下是完整、实用的分层方案:
✅ 一、【推荐】使用腾讯云原生监控(Cloud Monitor)——免部署、高可靠、支持告警
这是最简单、最稳定、与云平台深度集成的方式。
🔹 步骤:
-
确保监控 agent 已安装并运行
- Linux CVM 默认已预装
tcmagent(腾讯云监控 Agent),检查状态:sudo systemctl status tcmagent # 或 /usr/local/qcloud/YunJing/tcmagent/tcmagent - 若未安装,可手动安装(官方文档):
curl -s https://mirrors.cloud.tencent.com/qcloud/tcmagent/latest/install.sh | bash
- Linux CVM 默认已预装
-
查看网络监控指标(控制台操作)
- 进入 云监控控制台 → 左侧导航栏「云产品监控」→「云服务器 CVM」
- 选择目标地域 & 实例 → 查看以下关键指标(5秒粒度采样,实时性高):
IntranetIn/IntranetOut:内网入/出带宽(单位:bps,如 Mbps)✅InternetIn/InternetOut:公网入/出带宽(单位:bps)✅IntranetInpkg/IntranetOutpkg:内网包速率(pps)InternetInpkg/InternetOutpkg:公网包速率
⚠️ 注意:
- 公网流量指标仅对绑定了弹性公网 IP(EIP)或配置了 NAT 网关的实例有效;
- 内网流量监控对所有 VPC 内实例均生效(基于 ENI 流量镜像采集,无需额外配置);
- 数据延迟通常 ≤ 10 秒,满足“实时”需求(非毫秒级,但足够运维响应)。
-
设置实时告警(关键!)
- 在监控图表右上角点击「创建告警策略」→ 选择指标(如
InternetOut > 50 Mbps持续 1 分钟)→ 配置通知渠道(微信/短信/邮件/企业微信/HTTP 回调等)。 - 支持多维度阈值(如按小时峰值、同比突增等高级策略)。
- 在监控图表右上角点击「创建告警策略」→ 选择指标(如
✅ 优势:无需登录实例、不占用资源、支持历史回溯(最长 365 天)、与云审计/告警中心联动。
✅ 二、【补充】操作系统级实时命令(登录实例后快速排查)
适用于临时诊断、脚本化采集或调试场景(需注意权限和性能影响):
| 工具 | 命令示例 | 说明 |
|---|---|---|
iftop(推荐) |
sudo iftop -P -B -n |
实时显示每个连接的带宽(B=字节/s,-n禁用DNS解析提速),按 P 切换端口视图,T 汇总,q 退出 |
nethogs |
sudo nethogs eth0 |
按进程(PID)显示实时流量,精准定位“谁在跑流量”(需 apt install nethogs / yum install nethogs) |
sar(sysstat) |
sar -n DEV 1 5 |
每秒采样网卡收发(KB/s),输出 rxkB/s, txkB/s(长期统计用 sar -n DEV -f /var/log/sysstat/saXX) |
ip -s link |
watch -n1 'ip -s link show eth0 | grep "bytes|packets"' |
原生轻量,查看累计字节数/包数,配合 watch 实现实时刷新 |
📌 提示:
- 主网卡名通常是
eth0(CentOS 7+/Ubuntu 18.04+)或ensXXX(新版 systemd-networkd),用ip link show确认; - 公网流量需关注
eth0(若 EIP 直接绑定)或bond0(若使用聚合); - 避免在生产环境长期运行
iftop/nethogs(高 CPU 占用),建议仅用于临时诊断。
✅ 三、【进阶】自建 Prometheus + Grafana(适合大规模/定制化场景)
若需统一纳管数百台 CVM、自定义标签、深度分析(如按应用/端口/协议拆分流量):
- 在 CVM 安装
node_exporter(启用--collector.netdev.ignored-devices="lo"忽略回环) - 配置 Prometheus 抓取
/metrics(暴露node_network_receive_bytes_total{device="eth0"}等指标) - Grafana 导入模板(如 ID: 1860)→ 实时绘制带宽曲线、TOP 进程、流量趋势
- 结合
process-exporter或eBPF(如bpftrace)实现更细粒度追踪(需内核 ≥ 4.18)
🌐 优势:完全自主可控、支持长期存储与 AI 异常检测;
⚠️ 成本:需维护 Prometheus 集群,小规模不推荐。
❌ 不推荐的做法(避坑提醒)
- ❌ 仅依赖
cat /proc/net/dev手动计算(易出错、无历史、无法告警) - ❌ 使用
vnstat(仅统计,非实时,且需后台守护进程) - ❌ 在 CVM 上部署商业监控软件(增加攻击面、License 成本、兼容性风险)
✅ 最佳实践总结(一句话版)
日常运维用云监控(控制台+告警),突发排查用
iftop/nethogs登录看,超大规模集群才考虑 Prometheus 自建。
需要我帮你:
- ✨ 生成一个自动采集流量并发送企业微信告警的 Shell 脚本?
- 📊 提供
iftop的常用快捷键速查表? - 🧩 解释如何区分“公网流量”和“NAT 网关流量”在监控中的体现?
欢迎随时告诉我,我可以立即为你定制!
PHPWP博客