誰がすべての帯域幅を使い果たしているのか、何で使用しているのかを知る必要がある状況に陥ったことがありますか?私は確かに持っています。その質問に答えるのに役立つツールを紹介したいと思います。サポート管理者として働いていたとき、インターフェイスでボトルネックになっているレプリケーションジョブを実行しようとしていることに日常的に気づきました。インターフェイスと関連するハードウェアは、10Gb以上にプッシュすることができました。しかし、私はその約3Gbしか見ませんでした。それで、特に専用インターフェースで、誰がすべての帯域幅を使い果たしているのかという疑問が生じます。または、別の問題が発生していますか?
最良のトラブルシューティング手法は、多くの潜在的な結果の1つを排除するために実行する迅速で簡単な手順です。 iftop
と入力します 。
それは何をしますか?
topやhtopと同じように、iftop
コマンドは、システムのリソース使用量に使用されます。具体的には、アクティブなイーサネットインターフェイスの帯域幅を監視します。上記の状況に適用すると、iftop
を実行できます。 コマンドを使用して、データレプリケーションインターフェイス全体で実際に帯域幅を使用しているものを確認します。これは、インターフェイス自体のトラブルシューティングを行って結論に達するまでにかかる時間を考慮すると、非常に効率的です。問題はありません。インターフェースでのアクティビティが多すぎるだけです。
この実用的なツールをインストールして使用するプロセスを見てみましょう。
インストール
iftop
をインストールする前に ツールには、いくつかの前提条件パッケージが必要です。 libpcap
をインストールする必要があります (これは、インターフェースデータをリアルタイムでキャプチャするために使用されます)、およびlibncurses
(端末から独立したテキストベースのインターフェイスを構築するために使用されるAPI)。このツールのデモには、Fedora32VMを使用しています。別のOSを使用している場合、インストールは若干異なります。インストールするには:
[tcarrigan@client ~]$ sudo yum -y install libpcap-devel ncurses ncurses-devel
[sudo] password for tcarrigan:
Fedora 32 openh264 (From Cisco) - x86_64 4.8 kB/s | 989 B 00:00
Fedora 32 openh264 (From Cisco) - x86_64 3.3 kB/s | 2.5 kB 00:00
Fedora Modular 32 - x86_64 28 kB/s | 15 kB 00:00
Fedora Modular 32 - x86_64 - Updates 38 kB/s | 7.6 kB 00:00
Fedora Modular 32 - x86_64 - Updates 189 kB/s | 1.0 MB 00:05
Fedora 32 - x86_64 - Updates 46 kB/s | 10 kB 00:00
Fedora 32 - x86_64 - Updates 221 kB/s | 12 MB 00:54
Fedora 32 - x86_64 40 kB/s | 15 kB 00:00
Package ncurses-6.1-15.20191109.fc32.x86_64 is already installed.
Dependencies resolved.
==============================================================================================
Package Architecture Version Repository Size
==============================================================================================
Installing:
libpcap-devel x86_64 14:1.9.1-3.fc32 fedora 136 k
ncurses-devel x86_64 6.1-15.20191109.fc32 fedora 503 k
Installing dependencies:
ncurses-c++-libs x86_64 6.1-15.20191109.fc32 fedora 39 k
Transaction Summary
==============================================================================================
Install 3 Packages
Total download size: 678 k
Installed size: 1.2 M
Downloading Packages:
(1/3): ncurses-c++-libs-6.1-15.20191109.fc32.x86_64.rpm 55 kB/s | 39 kB 00:00
(2/3): libpcap-devel-1.9.1-3.fc32.x86_64.rpm 159 kB/s | 136 kB 00:00
(3/3): ncurses-devel-6.1-15.20191109.fc32.x86_64.rpm 174 kB/s | 503 kB 00:02
----------------------------------------------------------------------------------------------
Total 181 kB/s | 678 kB 00:03
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : ncurses-c++-libs-6.1-15.20191109.fc32.x86_64 1/3
Installing : ncurses-devel-6.1-15.20191109.fc32.x86_64 2/3
Installing : libpcap-devel-14:1.9.1-3.fc32.x86_64 3/3
Running scriptlet: libpcap-devel-14:1.9.1-3.fc32.x86_64 3/3
Verifying : libpcap-devel-14:1.9.1-3.fc32.x86_64 1/3
Verifying : ncurses-c++-libs-6.1-15.20191109.fc32.x86_64 2/3
Verifying : ncurses-devel-6.1-15.20191109.fc32.x86_64 3/3
Installed:
libpcap-devel-14:1.9.1-3.fc32.x86_64 ncurses-c++-libs-6.1-15.20191109.fc32.x86_64
ncurses-devel-6.1-15.20191109.fc32.x86_64
Complete!
前提条件のパッケージをインストールしたら、実際のiftop
をインストールできます。 ツール:
[root@client ~]# dnf install iftop
Last metadata expiration check: 0:01:45 ago on Thu 08 Oct 2020 06:22:52 PM EDT.
Package iftop-1.0-0.23.pre4.fc32.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[読者も気に入りました:11のLinuxコマンドなしでは生きていけません]
基本的な使用法
必要なパッケージをすべてインストールしたら、iftop
を実行します 提示された出力と情報の感触をつかむため。オプションがない場合は、iftop
デフォルトのインターフェース(ほとんどの場合eth0)に対して実行されます。
デフォルトのコマンドを実行するには:
[root@client ~]# iftop
左から右に、次の点に注意してください。
- 解決されたホスト名(ソースまたは宛先、矢印で示されています)
- 平均データ転送速度(2、10、40秒間隔)
出力の下部に、TX(転送済み)RX(受信済み)TOTAL伝送速度が表示されます。累積合計と平均、およびピーク数の数値もあります。
具体的に
このツールは強力ですが、忙しい環境では多くの情報を投げかける可能性があります。この問題を回避するために、特定のオプションを使用して、表示される出力をフィルタリングします。上記のシナリオでは、使用しようとした特定のレプリケーションインターフェイスに関する分析のみを確認したいと思います。特定のインターフェースを確認するために、-i
を追加します。 オプション。
[tcarrigan@client ~] $ sudo iftop -i enp0s3
ここでは、以前と同じ情報が表示されます。ただし、これはインターフェースenp0s3
のみを対象としています。 。
IP情報を表示する場合は、-n
を使用します ホスト名の解決を無効にするフラグ。
[tcarrigan@client ~] $ sudo iftop -n
上のスクリーンショットから、IPアドレスが表示されていることがわかります。これは、ホスト名が混乱する可能性がある大規模な環境でのトラブルシューティングのはるかに簡単な方法です。
提示された情報を実際にダイヤルインするために利用できる他のさまざまなオプションがあります。次のリストは、man iftop
を実行することで見つけることができるmanページから直接取得されます。 。
[無料のオンラインコース:Red HatEnterpriseLinuxの技術概要。 ]
概要
ここまで進んだら、iftop
が提供するユーティリティを見たことでしょう。 および対象となる使用法のオプション。使用されている帯域幅と、それがどこに行き来するのかを把握する必要がある場合は、iftop
強力な資産になる可能性があります。利用可能なオプションの膨大な配列を使用して、必要なだけ具体的に出力をフィルタリングできるため、これをsysadminツールベルトに保持するのは簡単です。