一定期間、特定のリモートコンピュータと私のシステムの帯域幅使用量をキャプチャしたいと思います。iftop
コマンドは間違いなくオプションであり、ネットワーク使用量を提供し、フィルタリング機能がありますが、着信帯域幅使用量と発信帯域幅使用量を取得するには、テキスト出力を解析する必要があります。
sudo iftop -t -s 2 -f "src host <remote_machine_ip>"
私の現在の計画は、上記のコマンドをループで実行し、毎回テキスト出力を解析してcsvファイルに追加することです(current_time, transmitted, received)
。
より良いオプションはありますか?
答え1
ネットワーク、CPU、メモリ、その他のリソースデータを定期的に収集し、後で使用するために保存する「sar」ツールの使用を検討しましたか?私はほとんどのディストリビューションが干渉を避け、あまりにも多くのデータを保存するために投票の間に10分の遅延があると思います。
私のRHELシステムに/usr/bin/sarコマンドを提供する「sysstat」RPMをインストールし、データを収集するのに数分待ちました。これにより、次のデータを表示できます。
PS /etc/cron.d/sysstatでcrontabファイルを調整して、ポーリング頻度を再設定できます。
PPS SARデータはデフォルトで30日間保存されます。 "-f /var/log/sa/saXY"パラメーターを使用して、以前のデータを表示するために使用するファイルをsarに通知できます。ここで、XYは興味のある2桁の日付(例:12)です。
[jcall@nas ~]$ sar -n DEV | grep enp4s0
12:10:01 AM enp4s0 4.86 2.33 1.06 0.25 0.00 0.00 1.11
12:20:01 AM enp4s0 4.70 2.32 1.05 0.26 0.00 0.00 1.07
12:30:01 AM enp4s0 4.73 2.25 1.06 0.27 0.00 0.00 1.01
12:40:01 AM enp4s0 5.32 2.76 1.49 0.39 0.00 0.00 0.97
12:50:01 AM enp4s0 4.57 2.22 1.01 0.25 0.00 0.00 0.90
01:00:01 AM enp4s0 4.71 2.32 1.02 0.27 0.00 0.00 1.08
01:10:01 AM enp4s0 4.60 2.29 1.03 0.28 0.00 0.00 0.97
01:20:01 AM enp4s0 4.63 2.21 1.04 0.26 0.00 0.00 0.94
01:30:01 AM enp4s0 4.68 2.18 1.07 0.25 0.00 0.00 0.97
01:40:01 AM enp4s0 4.70 2.20 1.08 0.25 0.00 0.00 0.99
01:50:01 AM enp4s0 10.28 2.72 1.43 0.35 0.00 0.00 0.88
02:00:01 AM enp4s0 4.69 2.29 1.02 0.27 0.00 0.00 1.05
02:10:01 AM enp4s0 4.80 2.26 1.08 0.25 0.00 0.00 1.03
02:20:01 AM enp4s0 4.77 2.26 1.08 0.26 0.00 0.00 0.96
02:30:01 AM enp4s0 4.96 2.42 1.09 0.33 0.00 0.00 0.97
02:40:01 AM enp4s0 4.99 2.37 1.06 0.32 0.00 0.00 1.08
Average: enp4s0 5.13 2.34 1.10 0.28 0.00 0.00 1.00