Linux 网络速率采集方法:ifstat、iptraf、nload、脚本
要采集 Linux 机器上的网络速率,可以使用一些命令行工具和脚本来实现。以下是几种常用的方法:
-
ifstat 命令:ifstat 是一个简单但功能强大的工具,用于监视网络接口的实时带宽使用情况。可以使用以下命令安装 ifstat:
sudo apt-get install ifstat。然后,使用以下命令启动 ifstat 并监视网络接口的速率:ifstat -i <interface> -t,其中<interface>是要监视的网络接口名称,例如 eth0 或 wlan0。 -
iptraf 命令:iptraf 也是一个功能强大的网络监视工具,可以显示实时的网络流量和连接信息。可以使用以下命令安装 iptraf:
sudo apt-get install iptraf。然后,使用以下命令启动 iptraf 并选择要监视的网络接口以查看速率:sudo iptraf-ng。 -
nload 命令:nload 是一个基于 ncurses 库的命令行工具,用于实时监视网络接口的流量。可以使用以下命令安装 nload:
sudo apt-get install nload。然后,使用以下命令启动 nload 并选择要监视的网络接口以查看速率:nload -i <interface>,其中<interface>是要监视的网络接口名称。 -
使用脚本:可以编写一个脚本来定期采集网络速率并将结果保存到文件中。可以使用工具如 vnstat 或 bmon 来采集网络流量数据,并使用 crontab 定时运行脚本。一个简单的示例脚本如下:
#!/bin/bash
interface="eth0"
output_file="/path/to/output/file"
rx_prev=$(cat /sys/class/net/$interface/statistics/rx_bytes)
tx_prev=$(cat /sys/class/net/$interface/statistics/tx_bytes)
sleep 1
rx_curr=$(cat /sys/class/net/$interface/statistics/rx_bytes)
tx_curr=$(cat /sys/class/net/$interface/statistics/tx_bytes)
rx_rate=$((($rx_curr - $rx_prev) / 1024))
tx_rate=$((($tx_curr - $tx_prev) / 1024))
echo "$(date +%s),$rx_rate,$tx_rate" >> $output_file
以上脚本会将当前的接收和发送速率(以 KB/s 为单位)写入到指定的输出文件中。可以使用 crontab 来定时运行脚本,例如每分钟运行一次:
* * * * * /path/to/script.sh
这些方法提供了不同的选项来监视和采集 Linux 机器上的网络速率,可以根据具体需求选择适合自己的方法。
原文地址: https://www.cveoy.top/t/topic/pdtB 著作权归作者所有。请勿转载和采集!