ZBLOG

linux如何查看过去1小时服务器的带宽

在 Linux 系统中,要查看过去1小时的服务器带宽使用情况,通常需要依赖监控工具或日志记录。以下是几种常用的方法:


方法1:使用 vnstat(需提前安装并运行)

vnstat 是一个网络流量监控工具,可以按小时、天、月统计带宽使用情况。

1. 安装 vnstat

  1. sudo apt install vnstat # Ubuntu/Debian
  2. sudo yum install vnstat # CentOS/RHEL

2. 启动服务并初始化数据库

  1. sudo systemctl enable --now vnstat
  2. sudo vnstat -u -i eth0 # 替换 `eth0` 为你的网卡名(通过 `ip a` 查看)

3. 查看过去1小时的带宽统计

  1. vnstat -h # 显示最近24小时的每小时流量

输出示例:

  1. eth0 / hour
  2. Time Rx Tx Total
  3. ------------------------- -------- -------- --------
  4. 13:00 - 14:00 1.23 GB 456 MB 1.68 GB <<< 过去1小时的数据

注意:如果 vnstat 未提前运行,则无法回溯历史数据。


方法2:使用 sar(需安装 sysstat

sar 可以记录网络接口的历史数据。

1. 确保 sysstat 已启用

  1. sudo apt install sysstat # Ubuntu/Debian
  2. sudo yum install sysstat # CentOS/RHEL
  3. # 检查是否启用日志记录(默认每10分钟记录一次)
  4. sudo grep ENABLED /etc/default/sysstat # Debian/Ubuntu: ENABLED="true"

2. 查看过去1小时网络流量

  1. sar -n DEV -f /var/log/sa/sa$(date +%d) | grep -i eth0 | tail -n 60 # eth0替换为你的网卡名

关键列说明:

  • rxkB/s:每秒接收的千字节数。
  • txkB/s:每秒发送的千字节数。

方法3:解析 /proc/net/dev(实时采样)

如果没有历史监控工具,可以通过脚本定期采样 /proc/net/dev

手动采样脚本示例

  1. #!/bin/bash
  2. interface="eth0" # 替换为你的网卡名
  3. logfile="/tmp/bandwidth.log"
  4. # 第一次读取数据
  5. rx_bytes_prev=$(cat /proc/net/dev | grep $interface | awk '{print $2}')
  6. tx_bytes_prev=$(cat /proc/net/dev | grep $interface | awk '{print $10}')
  7. sleep 3600 # 等待1小时
  8. #第二次读取数据
  9. rx_bytes_next=$(cat /proc/net/dev | grep $interface | awk '{print $2}')
  10. tx_bytes_next=$(cat /proc/net/dev | grep $interface | awk '{print $10}')
  11. #计算差值(字节转换为MB/GB)
  12. rx_mb=$(( ($rx_bytes_next - $rx_bytes_prev) / (1024*1024) ))
  13. tx_mb=$(( ($tx_bytes_next - $tx_bytes_prev) / (1024*1024) ))
  14. echo "Past hour: RX=${rx_mb} MB, TX=${tx_mb} MB"

方法4:使用第三方工具

  • iftop:实时监控带宽(需手动运行)。
  • Prometheus + Node Exporter:长期监控并存储历史数据。
  • Ntopng:图形化流量分析工具。

注意事项

  1. 依赖历史数据
    • vnstat/sar需要提前安装和运行才能回溯。
  2. 网卡名称
    通过 ip a或 `ifconfig确认正确的网络接口名称(如eth0、ens18等)。
  3. 无监控工具时
    只能从当前时间点开始采样(如方法3)。

如果需要长期监控,建议部署专业的系统监控方案(如Zabbix、Grafana等)。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=23548

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?