ZBLOG

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

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


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

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

1. 安装 vnstat

sudo apt install vnstat   # Ubuntu/Debian
sudo yum install vnstat   # CentOS/RHEL

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

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

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

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

输出示例:

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

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


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

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

1. 确保 sysstat 已启用

sudo apt install sysstat    # Ubuntu/Debian
sudo yum install sysstat    # CentOS/RHEL

# 检查是否启用日志记录(默认每10分钟记录一次)
sudo grep ENABLED /etc/default/sysstat    # Debian/Ubuntu: ENABLED="true"

2. 查看过去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

手动采样脚本示例

#!/bin/bash

interface="eth0"   # 替换为你的网卡名
logfile="/tmp/bandwidth.log"

# 第一次读取数据
rx_bytes_prev=$(cat /proc/net/dev | grep $interface | awk '{print $2}')
tx_bytes_prev=$(cat /proc/net/dev | grep $interface | awk '{print $10}')

sleep 3600   # 等待1小时

#第二次读取数据 
rx_bytes_next=$(cat /proc/net/dev | grep $interface | awk '{print $2}')
tx_bytes_next=$(cat /proc/net/dev | grep $interface | awk '{print $10}')

#计算差值(字节转换为MB/GB)
rx_mb=$(( ($rx_bytes_next - $rx_bytes_prev) / (1024*1024) ))
tx_mb=$(( ($tx_bytes_next - $tx_bytes_prev) / (1024*1024) ))

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

注册

已经有帐号?