腾讯云CVM实例怎么实时监控网络带宽和流量消耗?

在腾讯云CVM(Cloud Virtual Machine)实例上实时监控网络带宽和流量消耗,可通过腾讯云原生监控 + 操作系统级工具 + 可选自建方案组合实现。以下是完整、实用的分层方案:


✅ 一、【推荐】使用腾讯云原生监控(Cloud Monitor)——免部署、高可靠、支持告警

这是最简单、最稳定、与云平台深度集成的方式。

🔹 步骤:

  1. 确保监控 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
  2. 查看网络监控指标(控制台操作)

    • 进入 云监控控制台 → 左侧导航栏「云产品监控」→「云服务器 CVM」
    • 选择目标地域 & 实例 → 查看以下关键指标(5秒粒度采样,实时性高):
      • IntranetIn / IntranetOut:内网入/出带宽(单位:bps,如 Mbps)✅
      • InternetIn / InternetOut:公网入/出带宽(单位:bps)✅
      • IntranetInpkg / IntranetOutpkg:内网包速率(pps)
      • InternetInpkg / InternetOutpkg:公网包速率

    ⚠️ 注意:

    • 公网流量指标仅对绑定了弹性公网 IP(EIP)或配置了 NAT 网关的实例有效;
    • 内网流量监控对所有 VPC 内实例均生效(基于 ENI 流量镜像采集,无需额外配置);
    • 数据延迟通常 ≤ 10 秒,满足“实时”需求(非毫秒级,但足够运维响应)。
  3. 设置实时告警(关键!)

    • 在监控图表右上角点击「创建告警策略」→ 选择指标(如 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、自定义标签、深度分析(如按应用/端口/协议拆分流量):

  1. 在 CVM 安装 node_exporter(启用 --collector.netdev.ignored-devices="lo" 忽略回环)
  2. 配置 Prometheus 抓取 /metrics(暴露 node_network_receive_bytes_total{device="eth0"} 等指标)
  3. Grafana 导入模板(如 ID: 1860)→ 实时绘制带宽曲线、TOP 进程、流量趋势
  4. 结合 process-exportereBPF(如 bpftrace)实现更细粒度追踪(需内核 ≥ 4.18)

🌐 优势:完全自主可控、支持长期存储与 AI 异常检测;
⚠️ 成本:需维护 Prometheus 集群,小规模不推荐。


❌ 不推荐的做法(避坑提醒)

  • ❌ 仅依赖 cat /proc/net/dev 手动计算(易出错、无历史、无法告警)
  • ❌ 使用 vnstat(仅统计,非实时,且需后台守护进程)
  • ❌ 在 CVM 上部署商业监控软件(增加攻击面、License 成本、兼容性风险)

✅ 最佳实践总结(一句话版)

日常运维用云监控(控制台+告警),突发排查用 iftop/nethogs 登录看,超大规模集群才考虑 Prometheus 自建。


需要我帮你:

  • ✨ 生成一个自动采集流量并发送企业微信告警的 Shell 脚本?
  • 📊 提供 iftop 的常用快捷键速查表?
  • 🧩 解释如何区分“公网流量”和“NAT 网关流量”在监控中的体现?
    欢迎随时告诉我,我可以立即为你定制!