Pernahkah Anda berada dalam situasi di mana Anda perlu tahu siapa yang menggunakan semua bandwidth Anda dan untuk apa mereka menggunakannya? Saya pasti pernah dan saya ingin memperkenalkan alat yang dapat membantu Anda menjawab pertanyaan itu. Ketika saya bekerja sebagai admin dukungan, saya secara rutin menemukan diri saya mencoba menjalankan pekerjaan replikasi yang menghambat antarmuka. Antarmuka dan perangkat keras terkait lebih dari mampu mendorong hingga 10 Gb. Namun, saya hanya melihat sekitar 3Gb itu. Jadi muncul pertanyaan, terutama pada antarmuka khusus, siapa yang menghabiskan semua bandwidth? Atau ada masalah lain yang sedang terjadi?
Teknik pemecahan masalah terbaik adalah langkah cepat dan mudah yang Anda ambil untuk menghilangkan salah satu dari banyak hasil potensial. Masukkan iftop
.
Apa fungsinya?
Sama seperti top dan htop, iftop
perintah digunakan untuk penggunaan sumber daya pada sistem Anda. Secara khusus, ini memonitor bandwidth antarmuka ethernet aktif. Ketika diterapkan pada situasi yang saya jelaskan di atas, Anda dapat menjalankan iftop
perintah untuk melihat apa yang sebenarnya menggunakan bandwidth di seluruh antarmuka replikasi data. Ini bisa sangat efisien ketika Anda mempertimbangkan berapa lama waktu yang Anda perlukan untuk sampai pada kesimpulan itu dengan memecahkan masalah antarmuka itu sendiri. Tidak ada masalah, hanya aktivitas berlebih pada antarmuka.
Mari kita lihat proses menginstal dan menggunakan alat praktis ini.
Pemasangan
Sebelum Anda menginstal iftop
alat, Anda memerlukan beberapa paket prasyarat. Anda perlu menginstal libpcap
(yang digunakan untuk menangkap data antarmuka secara real time), serta libncurses
(API yang digunakan untuk membangun antarmuka berbasis teks yang tidak bergantung pada terminal). Saya menggunakan Fedora 32 VM untuk mendemonstrasikan alat ini. Jika Anda menggunakan OS yang berbeda, instalasi Anda akan sedikit berbeda. Untuk menginstal:
[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!
Setelah Anda menginstal paket prasyarat, Anda dapat menginstal iftop
yang sebenarnya alat:
[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!
[ Pembaca juga menyukai: 11 perintah Linux Saya tidak bisa hidup tanpanya ]
Penggunaan dasar
Setelah Anda menginstal semua paket yang diperlukan, jalankan iftop
untuk merasakan output dan informasi yang disajikan. Ingatlah bahwa tanpa opsi apa pun, iftop
akan berjalan melawan antarmuka default (eth0 dalam banyak kasus).
Untuk menjalankan perintah default:
[root@client ~]# iftop
Dari kiri ke kanan, perhatikan hal berikut:
- Nama host yang diselesaikan (sumber atau tujuan, ditandai dengan panah)
- Kecepatan transmisi data rata-rata (interval 2, 10, 40 detik)
Anda akan melihat TX (ditransfer) RX (diterima) tingkat transmisi TOTAL di bagian bawah output. Ada juga angka untuk total dan rata-rata kumulatif, serta angka puncak.
Menjadi spesifik
Sekuat apa pun alat ini, alat ini dapat memberikan terlalu banyak informasi kepada Anda di lingkungan yang sibuk. Untuk menghindari masalah ini, kami akan menggunakan opsi khusus untuk menyaring output yang disajikan. Dalam skenario yang saya jelaskan di atas, saya hanya ingin melihat analitik di sekitar antarmuka replikasi spesifik yang saya coba gunakan. Untuk melihat antarmuka tertentu, kita akan menambahkan -i
pilihan.
[tcarrigan@client ~] $ sudo iftop -i enp0s3
Di sini kita dapat melihat informasi yang sama disajikan seperti sebelumnya. Namun, ini hanya melihat antarmuka enp0s3
.
Jika Anda ingin melihat informasi IP, gunakan -n
tandai untuk menonaktifkan resolusi nama host.
[tcarrigan@client ~] $ sudo iftop -n
Anda dapat melihat dari tangkapan layar di atas bahwa alamat IP sekarang terlihat. Ini bisa menjadi cara pemecahan masalah yang jauh lebih mudah di lingkungan besar di mana nama host bisa membingungkan.
Ada berbagai pilihan lain yang dapat Anda manfaatkan untuk benar-benar memutar informasi yang disajikan kepada Anda. Daftar berikut diambil langsung dari halaman manual, yang dapat ditemukan dengan menjalankan man iftop
.
[ Kursus online gratis:Tinjauan teknis Red Hat Enterprise Linux. ]
Ringkasan
Jika Anda sampai sejauh ini, Anda melihat utilitas yang ditawarkan oleh iftop
dan opsi untuk penggunaan yang ditargetkan. Saat Anda perlu mencari tahu bandwidth apa yang digunakan, dan ke mana atau dari mana bandwidth itu pergi, iftop
bisa menjadi aset yang kuat. Anda dapat memfilter outputnya menjadi sespesifik yang Anda perlukan dengan menggunakan banyak pilihan yang tersedia, menjadikannya mudah untuk disimpan di sabuk alat sysadmin Anda.