Linux: Làm thế nào để đo lưu lượng mạng hàng ngày / montly?


15

Tôi cần giữ số liệu thống kê lưu lượng truy cập mạng hàng ngày cho máy linux (CentOS 5).

Có cách nào để làm điều đó bằng cách sử dụng các công cụ hoặc tiện ích tiêu chuẩn / bản địa không?
Hay tôi phải tải xuống phần mềm đặc biệt cho điều đó?

Cảm ơn.


1
Làm thế nào chính xác để bạn cần số liệu thống kê? Nói cách khác, bạn có cần một cái gì đó đủ cụ thể để lập hóa đơn cho băng thông hoặc trung bình có tốt không?
Zypher

Tôi cần biết chính xác lưu lượng truy cập tôi đã sử dụng mỗi ngày vì tôi không muốn vượt quá giới hạn nhất định.
GetFree

1
Sau đó, bạn không muốn bất kỳ công cụ dựa trên RRD nào (Cacti, MRTG, Munin, v.v.) RRD tính trung bình các con số để bạn sẽ không bao giờ có được số liệu chính xác và nó sẽ thực sự trở nên tồi tệ hơn theo thời gian.
Zypher

Câu trả lời:


8

Những gì Zypher đã nói về rrdtool (và bất cứ điều gì khác sử dụng nó như một phụ trợ - MRTG, Cacti, v.v.) có lẽ là chính xác. RRDTool được thiết kế để trở thành một công cụ phân tích xu hướng lịch sử 'trung bình'. Nó tính trung bình và lưu trữ các bộ đếm theo gia số ngày càng không kiên quyết tăng dần theo thời gian.

Tuy nhiên, đây là cấu hình bằng cách thiết lập RRA một cách khủng khiếp. Tuy nhiên, tôi thú nhận không biết gì về việc định cấu hình những thứ này, và cá nhân tôi chưa bao giờ gặp may mắn khi đặt chúng vượt quá tiêu chuẩn của tôi (15 phút, 8 giờ, 1 tuần, 1 tháng, 1 năm). Tôi khuyên bạn nên xem xét cấu hình RRA để mong đợi đầu vào hàng ngày và cung cấp cho nó bộ đếm băng thông của bạn từ netstat. Bạn sẽ nhận được một số dữ liệu lịch sử rất hay và hiểu biết sâu sắc về cách sử dụng của bạn.

Để trả lời vấn đề hiện tại của bạn, về việc đảm bảo bạn không vượt quá giới hạn băng thông hàng ngày; Tôi sẽ khuyên bạn nên lấy các quầy netstat hàng ngày cho giao diện được đề cập. Bạn có thể so sánh lưu lượng của ngày hôm qua tại thời điểm t với các quầy ngày hôm nay tại thời điểm t và tìm hiểu xem đã chuyển bao nhiêu. Một tập lệnh đơn giản với lưu trữ tệp văn bản phẳng của giá trị trước đó có thể đủ. Sau đó, bạn có thể vô hiệu hóa giao diện nếu bạn phát hiện băng thông vượt quá hoặc theo dõi nó suốt cả ngày và thông báo cho quản trị viên nếu bạn sắp đạt đến giới hạn của mình.

Để nhận các byte đầu vào trên hệ thống OSX, bạn có thể sử dụng bộ lệnh sau:

netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $7}'

Ngược lại, đầu ra có thể thu được với:

netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'

Bạn có thể đưa các bộ đếm liên quan vào một tệp phẳng được lưu trữ ở đâu đó và so sánh nó với:

#!/bin/bash
set -e # exit if any error occurs

previous_days_bytes_xferred=`cat $flatfile_storage`
todays_bytes_xferred=`netstat -ib | grep -e "$INTERFACE" -m 1 | awk '{print $10}'`

if [ $((todays_bytes_xferred - previous_days_bytes_xferred)) -gt $threshold ]; then
   DO SOME STUFF
fi
echo $todays_bytes_xferred > $flatfile_storage

Chỉ cần điều chỉnh xử lý netstat để phù hợp với hệ thống của bạn (vì tôi biết bạn không chạy OSX).


25

Tôi cũng đề nghị sử dụng VnStat

vnStat 1.6 by Teemu Toivola <tst at iki dot fi>

     -q,  --query          query database
     -h,  --hours          show hours
     -d,  --days           show days
     -m,  --months         show months
     -w,  --weeks          show weeks
     -t,  --top10          show top10
     -s,  --short          use short output
     -u,  --update         update database
     -i,  --iface          select interface (default: eth0)
     -?,  --help           short help
     -v,  --version        show version
     -tr, --traffic        calculate traffic
     -l,  --live           show transfer rate in real time


 eth0  /  monthly

   month         rx      |      tx      |   total
-------------------------+--------------+--------------------------------------
  Oct '09     225.70 GB  |   798.52 GB  |     1.00 TB   %%%%:::::::::::::
  Nov '09     138.46 GB  |   616.54 GB  |   755.01 GB   %%::::::::::

 eth0  /  daily

day         rx      |     tx      |  total
------------------------+-------------+----------------------------------------
   31.12.      6.56 GB  |   34.39 GB  |   40.95 GB   %%%::::::::::::::::
   01.01.      1.13 GB  |  746.92 MB  |    1.86 GB

4

Gói sysstat chứa tiện ích sar. Sar là một "profiler" hệ thống cực kỳ cấu hình, vì thiếu một thuật ngữ tốt hơn, thu thập các số liệu thống kê khác nhau trong các khoảng thời gian được xác định trước (cron). Chúng được lưu trữ trong các tệp nhị phân, mỗi tệp một ngày, thường được xoay hàng tuần, nhưng đó là cấu hình. Chương trình sar có thể được sử dụng để lấy số liệu thống kê ra khỏi các tệp này và những kết quả đó có thể dễ dàng được lập thành biểu đồ với bất kỳ chương trình văn phòng hoặc gnuplot nào (sở thích cá nhân của tôi).

http://pagesperso-orange.fr/sebastien.godard/ <= Sar thông tin
http://www.gnuplot.info/ <= gnuplot thông tin


4

Vnstat là một bảng điều khiển tuyệt vời dựa trên trình giám sát giao thông hàng ngày / hàng tuần / hàng tháng. Nó thậm chí còn cho phép bạn giám sát lưu lượng trong thời gian thực rất tiện dụng.

Nó cũng sử dụng rất ít tài nguyên hệ thống;)


2

Bạn muốn MRTG là một công cụ giám sát mạng, đây là công cụ tạo ra tất cả các biểu đồ mạng mà bạn nhìn thấy trên web (với ndtool để biến các số thành hình ảnh)

Nếu bạn không muốn thiết lập nó, hoặc chỉ cần một cái gì đó đơn giản hơn, bạn có thể sử dụng iptables để ghi lại truyền dữ liệu.


+1 cho giải pháp iptables
GetFree

liên kết iptables đã chết - có lẽ điều này? qaoverflow.com/question/ từ
twodaysTable

1

Tôi đã sử dụng mrtg, đó là một giải pháp rất hay và có một công cụ khác có vẻ thú vị và cung cấp nhiều thông tin về lưu lượng có tên ntop một thăm dò mạng, ở đây tìm thấy liên kết về cài đặt ntop trên CentOS


1

Hoặc là MRTG hoặc Cacti. Cacti là một nỗi đau để thiết lập, nhưng đưa ra một số biểu đồ rất đẹp. MRTG rất dễ thiết lập một cốt truyện cơ bản, nhưng đối với bất cứ điều gì đẹp hoặc phức tạp, điều đó khá khó khăn.


1

Munin là một công cụ dựa trên RRD tuyệt vời khác rất dễ thiết lập; số liệu thống kê mạng mặc định khá cơ bản, nhưng thật dễ dàng để thêm các bổ sung. Tôi đã đính kèm một bản sao số liệu thống kê hàng ngày và hàng tuần trên một trong các máy chủ của mình; bạn cũng có được số liệu thống kê hàng tháng và hàng năm trên một trang khác.

Biểu đồ mạng Munin


Hình ảnh đã biến mất ngay bây giờ
Luke Luke REINSTATE MONICA của Canada
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.