Trong hướng dẫn này, chúng tôi sẽ giới thiệu một số công cụ để giám sát băng thông mạng trên Linux.
Băng thông mạng là thước đo cho biết dung lượng dữ liệu được truyền qua mạng trong một khoảng thời gian nhất định. Nó thường được biểu thị bằng số bit, kilobit, megabit hoặc gigabit được truyền trong 1 giây.
Băng thông của mạng càng cao thì lượng dữ liệu có thể truyền qua mạng càng lớn. Giám sát mạng giúp chúng ta theo dõi băng thông mạng và là thông tin hữu ích cho quản trị viên hệ thống.
Trong bài đăng trên blog này, chúng tôi sẽ sử dụng Ubuntu 22.04 làm hệ điều hành trên gói LC-VPS2 của mình. Bạn có thể chọn bất kỳ bản phân phối Linux nào bạn thích. Bắt đầu nào!
Điều kiện tiên quyết
- Một máy chủ chạy Ubuntu 22.04 (các bản phân phối khác cũng hoạt động tốt)
- Đặc quyền người dùng: người dùng root hoặc không root có đặc quyền sudo
Cập nhật hệ thống
Trước khi bắt đầu sử dụng bất kỳ công cụ giám sát mạng nào, chúng tôi cần cập nhật các gói hệ thống lên phiên bản mới nhất hiện có.
sudo apt-get update -y && sudo apt-get upgrade -y
1.iftop
Giao diện trên cùng của iftop là công cụ xem băng thông hiện tại trên giao diện mạng. Để cài đặt iftop thực hiện lệnh sau:
apt install iftop -y
Thực hiện lệnh iftop sẽ cho kết quả như thế này:
xxxxxxxx.roseh => 122.121.68.224.133 5.12Kb 4.05Kb 4.11Kb <= 512b 486b 346b xxxxxxxx.roseh => one.one.one.on 0b 114b 100b <= 0b 196b 164b xxxxxxxx.roseh => undefined.host 0b 32b 8b TX: cum: 11.8rates:ea 4.75Kb6 4.58Kb 3.92Kb RX: 2.01KB 1.09Kb5 672b 648b TOTAL: 13.8KB 5.84Kb7 5.24Kb 4.55Kb
Với điều này, bạn có thể xem lượng băng thông vào và ra khỏi máy chủ, bao gồm cả từng địa chỉ IP (hoặc thậm chí là bản ghi DNS ngược nếu có). Ở phía dưới, bạn sẽ thấy bản tóm tắt về truyền (TX), nhận (RX) và cả hai kết hợp.
2. Netstat
Netstat là một trong những lệnh giám sát mạng được sử dụng nhiều nhất. Nó được sử dụng để giám sát các kết nối mạng đến và đi, cổng mở (hoặc nghe), chương trình nào đang nghe trên cổng nào, v.v. Để kiểm tra tất cả những điều này trong một lệnh, bạn có thể chạy lệnh netstat -tunlp :
root@host:~# netstat -tunlp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 3472/mariadbd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1356/master tcp 0 0 0.0.0.0:7022 0.0.0.0:* LISTEN 791/sshd: /usr/sbin tcp6 0 0 :::25 :::* LISTEN 1356/master tcp6 0 0 :::7022 :::* LISTEN 791/sshd: /usr/sbin
Bạn sẽ nhận được danh sách tất cả các cổng đang mở, địa chỉ IP mà các cổng đang nghe và quá trình nào đã mở cổng đó. Địa chỉ cục bộ 0.0.0.0 có nghĩa là cổng đang lắng nghe bất kỳ địa chỉ IP nào mà máy chủ có. Điều này có thể gây rủi ro bảo mật nếu bạn có các dịch vụ không thể truy cập công khai. Chúng tôi khuyên bạn nên làm theo hướng dẫn này về cách thiết lập quy tắc tường lửa bằng iptables nếu bạn cần hạn chế quyền truy cập vào một số phần mềm của mình.
Netstat có rất nhiều tùy chọn, vì vậy chúng tôi khuyên bạn nên xem qua trang man (bằng cách chạy lệnh man netstat ) và xem mỗi cờ tùy chọn làm gì. Bạn có thể xem tổng số kết nối TCP, chẩn đoán các sự cố về hiệu suất mạng và hơn thế nữa.
3.Nload
Nload là một công cụ thời gian thực để giám sát lưu lượng mạng và việc sử dụng băng thông. Thực hiện lệnh nload sẽ cho kết quả như thế này:
Device eth0 [162.246.254.3] (1/2): =================================== Incoming: Curr: 104.78 kBit/s Avg: 117.27 kBit/s Min: 87.00 kBit/s Max: 150.11 kBit/s Ttl: 6.10 GByte Outgoing: Curr: 19.02 kBit/s Avg: 15.50 kBit/s Min: 6.00 kBit/s Max: 21.86 kBit/s Ttl: 7.90 MByte
Đây là một chương trình khá đơn giản, hiển thị cho bạn tải tổng thể của mạng (như tên lệnh gợi ý). Điều này rất hữu ích để kiểm tra xem bạn có đang đạt đến giới hạn băng thông đã biết hay không, chẳng hạn như 100Mbit/s hay 1000Mbit/s.
4. Nethogs
Nethogs được sử dụng để tìm PID của ứng dụng đang ngốn phần lớn băng thông của bạn. Việc thực thi nethogs sẽ cho kết quả tương tự như sau:
NetHogs version 0.8.6-3 PID USER PROGRAM DEV SENT RECEIVED 27706 root sshd: root@pts/0 eth0 0.188 0.053 KB/sec ? root 162.246.254.3:45881-35.203.210.237:54563 0.011 0.011 KB/sec ? root 162.246.254.3:25757-35.203.210.169:54911 0.000 0.000 KB/sec
Điều này hữu ích nếu hiệu suất mạng của bạn chậm và bạn không thể tìm ra chương trình hoặc dịch vụ nào gây ra tình trạng đó.
5. Bmon
Bmon là một công cụ dòng lệnh đơn giản để giám sát việc sử dụng băng thông mạng. Thực thi bmon và kiểm tra kết quả:
Interfaces x RX bps pps %x TX bps pps % >lo x 0 0 x 0 0 qdisc none (noqueue) x 0 0 x 0 0 eth0 x 13.22KiB 0 x 360B 1 qdisc none (fq_codel) x 0 0 x 360B 1 qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqq (RX Bytes/second) 0.00 ............................................................ 0.00 ............................................................ 0.00 ............................................................ 0.00 ............................................................ 0.00 ............................................................ 0.00 ............................................................ 1 5 10 15 20 25 30 35 40 45 50 55 60
Đây giống một chương trình TUI hơn hoặc giao diện người dùng thiết bị đầu cuối. Bố cục của nó gợi nhớ đến trình quản lý tác vụ hoặc trình giám sát tài nguyên, cung cấp cho bạn biểu đồ về mức sử dụng mạng của bạn. Bạn có thể sử dụng các phím mũi tên để lên xuống và giám sát từng giao diện của hệ thống.
Các công cụ khác
Có nhiều công cụ giám sát mạng khác về băng thông trên Linux, chẳng hạn như Nagios, IPTraf, Speedometer, Darkstat, SARG, v.v. Tất cả điều này có thể dễ dàng tìm thấy trên Internet. Điều lạ lùng là, với mỗi công cụ này, bạn sẽ có thể chẩn đoán, gỡ lỗi và khắc phục sự cố mạng của mình và làm cho nó chạy chính xác như bạn dự định.
Vậy là xong – bây giờ bạn đã tìm hiểu về một số công cụ được sử dụng nhiều nhất để giám sát băng thông mạng với các ví dụ thực tế và cách sử dụng.
Nếu bạn thích bài đăng này về các công cụ giám sát băng thông mạng trên Linux, vui lòng chia sẻ nó với bạn bè của bạn trên mạng xã hội hoặc chỉ cần để lại câu trả lời bên dưới. Cảm ơn.