MẠNG NÂNG CAO
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Giám sát lưu lượng mạng trong Linux với tiện ích vnStat

Go down

Giám sát lưu lượng mạng trong Linux với tiện ích vnStat Empty Giám sát lưu lượng mạng trong Linux với tiện ích vnStat

Bài gửi  TruongThiThuyDung Fri Dec 28, 2012 11:05 pm


I – Giới thiệu:

vnStat là một công cụ nhỏ gọn chạy ở chế độ console giúp chúng ta có thể monitor lưu lượng mạng trên từng interface của hệ thống Linux. Tiện ích này dùng chính những thống kê trên các interface được kernel của hệ điều hành trả về để xử lý. Vì thế, vnStat sẽ không cài thêm bất kỳ thành phần nào khác để monitor hay ghi logs của hệ thống mạng.

II – Cài đặt và cấu hình:

vnStat có thể chạy trên nhiều hệ điều hành Linux khác nhau như Debian/Ubuntu, RedHat/Fedora/CentOS, Arch, openSUSE. Ở đây mình sẽ thực hiện cài đặt vnStat lên hệ điều hành CentOS bằng lệnh yum

# yum install vnstat

Nếu các bạn muốn cài đặt từ source thì có thể download ở trang chủ với link sau: http://humdi.net/vnstat
Vì vnStat dựa trên các thông tin được cung cấp bởi kernel của hệ điều hành để đưa ra thống kê. Vì thế trước khi có thể sử dụng được tiến ích này ta cần thực hiện bước xác thực giữa kernel và vnStat. Ta thực hiện lệnh sau

# vnstat –testkernel
Giám sát lưu lượng mạng trong Linux với tiện ích vnStat Image.axd?picture=vnstat-utility-01_thumb



1) Sử dụng vnStat để monitor một interface:

Không giống như các phần mềm monitor hệ thống mạng khác, vnStat sẽ không tự động giám sát tất cả các interface có trên hệ thống của chúng ta. Ở đây ta cần chỉ ra các interface nào cần được monitor. Ví dụ mình sẽ thực hiện monitor card eth1 như sau

Thực hiện lệnh sau một lần

# vnstat –u –i eth1

Giám sát lưu lượng mạng trong Linux với tiện ích vnStat Image.axd?picture=vnstat-utility-02_thumb

Mỗi khi chạy lệnh này, vnStat sẽ khởi tạo database chứa dữ liệu mạng của giao tiếp eth1 với đường dẫn /var/lib/vnstat/eth1

Để xem hệ thống chúng ta còn có những interface nào mà vnStat có thể monitor thì chúng ta thự hiện lệnh sau

# vnstat –iflist

Giám sát lưu lượng mạng trong Linux với tiện ích vnStat Image.axd?picture=vnstat-utility-03_thumb

Sau khi khởi tạo nơi lưu trữ database cho giao tiếp eth1, chúng ta cần khởi động tiến trình vnstatd để có thể monitor và ghi logs trên giao tiếp mạng này.

# vnstatd –d

Giám sát lưu lượng mạng trong Linux với tiện ích vnStat Image.axd?picture=vnstat-utility-04_thumb

Chú ý: Để thiết đặt vnStat khởi động cùng với hệ thống, chúng ta có thể thêm dòng “vnstatd –d” vào file /etc/rc.local


2) Lệnh vnstat:

Khi gõ lệnh vnstat mà không có đối số nào kèm theo thì tiện ích này sẽ trả về cho chúng ta một thống kê nhanh về:

Thời điểm cuối cùng mà database của vnStat ở thư mục /var/lib/vnstat/ được cập nhật.
Thời điểm bắt đầu monitor một interface nào đó.
Các dữ liệu về mạng như số byte gửi/nhận trong vòng 2 tháng và 2 ngày qua.
[root@server ~]# vnstat
Database updated: Sun Jan 8 22:30:16 2012

eth1 since 01/08/12

rx: 273 KiB tx: 98 KiB total: 371 KiB

monthly
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Jan '12 273 KiB | 98 KiB | 371 KiB | 0.00 kbit/s
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |

daily
rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
today 273 KiB | 98 KiB | 371 KiB | 0.04 kbit/s
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |

Chú ý: Nếu bạn chỉ vừa mới cài đặt vnStat thì có thể sau khi chạy lệnh trên sẽ có thông báo sau “eth1: Not enough data available yet.” Bạn hãy chờ một thời gian sau và thử lại để có kết quả đầy đủ hơn .


3) Thống kê lưu lượng theo thời gian:

Để thống kê lưu lượng theo giờ ta có thể dùng lệnh “vnstat -h” hoặc “vnstat -hours”.

Để thống kê lưu lượng theo ngày ta có thể dùng lệnh “vnstat -d” hoặc “vnstat -days”


[root@server ~]# vnstat -d

eth1 / daily

day rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
01/08/12 314 KiB | 133 KiB | 447 KiB | 0.04 kbit/s
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |

Để thống kê lưu lượng theo tháng ta có thể dùng lệnh “vnstat -m” hoặc “vnstat -months”

[root@server ~]# vnstat -m

eth1 / monthly

month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Jan '12 352 KiB | 145 KiB | 497 KiB | 0.01 kbit/s
------------------------+-------------+-------------+---------------
estimated -- | -- | -- |


4) Theo dõi trực tiếp lưu lượng ra vào trên một interface:

Để xem lưu lượng ra vào trực tiếp trên interface eth1 ở thời điểm hiện tại ta có thể dùng lệnh sau

# vnstat –l -i eth1

[root@server ~]# vnstat -l -i eth1
Monitoring eth1... (press CTRL-C to stop)

rx: 1.41 Mbit/s 130 p/s tx: 60 kbit/s 99 p/s

Kết quả sau khi ngắt theo dõi


eth1 / traffic statistics

rx | tx
--------------------------------------+------------------
bytes 1.57 MiB | 284 KiB
--------------------------------------+------------------
max 2.64 Mbit/s | 84 kbit/s
average 20.20 kbit/s | 3.56 kbit/s
min 0 kbit/s | 0 kbit/s
--------------------------------------+------------------
packets 2207 | 1730
--------------------------------------+------------------
max 238 p/s | 150 p/s
average 3 p/s | 2 p/s
min 0 p/s | 0 p/s
--------------------------------------+------------------
time 10.63 minutes


Chú ý: Mặc định với lệnh “vnstat -l” sẽ giúp chúng ta theo dõi lưu lượng ra vào trên eth0.


5) Thống kê danh sách top 10 ngày có lưu lượng ra/vào nhiều nhất:

Để thống kê danh sách top 10 ngày có lưu lượng ra/vào nhiều nhất ta có thể sử dụng lệnh “vnstat -t” hoặc “vnstat -top10”.

$ vnstat --top10

eth0 / top 10

# day rx | tx | total | avg. rate
-----------------------------+-------------+-------------+---------------
1 11/12/11 4.30 MiB | 2.42 MiB | 6.72 MiB | 0.64 kbit/s
2 10/11/11 4.07 MiB | 2.17 MiB | 6.24 MiB | 0.59 kbit/s
3 10/10/11 2.48 MiB | 1.28 MiB | 3.76 MiB | 0.36 kbit/s
....
-----------------------------+-------------+-------------+---------------


6) Một vài định dạng xuất khi thông tin trên vnstat:

vnStat hỗ trợ một vài style khác nhau khi xuất các kết quả về lưu lượng ra màng hình console. Chúng ta có thể thực hiện với tham số “--style”. Chẳn hạn:

# vnstat --style 0

Một vài tham số khác:

0: Xuất hẹp
1: Hiện cột
2: Hiện cột và các thống kê trung bình
3: Hiện giá trị của tốc độ trung bình ở tất cả các output.
4: Sử dụng cùng với lệnh “vnstat -l” sẽ cho kết quả cập nhật liên tục trên nhiều dòng thay vì một dòng.
Đây là một trong danh sách rất nhiều các công cụ giúp chúng ta giám sát hệ thống. Ở các bài viết sau mình sẽ trình bày thêm về một số công cụ khác .

Ngô Duy Khánh – http://Khanh.Com.Vn
TruongThiThuyDung
TruongThiThuyDung

Tổng số bài gửi : 74
Join date : 21/09/2012
Age : 32

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết