Linux: Günlük / aylık ağ trafiği nasıl ölçülür?


15

Bir linux makinesi (CentOS 5) için günlük ağ trafiği istatistiklerini tutmam gerekiyor.

Standart / yerel araçlar veya yardımcı programlar kullanarak bunu yapmanın bir yolu var mı?
Yoksa bunun için özel bir yazılım mı indirmem gerekiyor?

Teşekkürler.


1
İstatistiklere ne kadar doğru ihtiyacınız var? Başka bir deyişle, bant genişliği için yeniden faturalandırma yapacak kadar özel bir şeye mi ihtiyacınız var veya ortalamalar iyi mi?
Zypher

Her gün ne kadar trafik kullandığımı tam olarak bilmem gerekiyor çünkü belirli sınırları aşmak istemiyorum.
GetFree

1
O zaman RRD tabanlı araçlardan hiçbirini istemezsiniz (Kaktüsler, MRTG, Munin, vb.) RRD sayıların ortalamasını alır, böylece asla tam bir metrik elde edemezsiniz ve aslında zamanla daha da kötüleşir.
Zypher

Yanıtlar:


8

Zypher'in rrdtool hakkında söylediği (ve onu arka uç olarak kullanan başka bir şey - MRTG, Kaktüsler vb.) Muhtemelen doğrudur. RRDTool, 'ortalamalı' bir tarihsel eğilim analiz aracı olacak şekilde tasarlanmıştır. Sayaçları gittikçe daha kararlı olmayan artışlarla ortalar ve depolar.

Ancak bu, RRA'ları doğru bir şekilde kurarak yapılandırılabilir. Bununla birlikte, bunların yapılandırılması hakkında kesinlikle hiçbir şey bilmediğimi itiraf ediyorum ve onları kişisel olarak standart setimin (15 dakika, 8 saat, 1 hafta, 1 ay, 1 yıl) ötesine getirme şansım olmadı. Günlük girişi beklemek ve bant genişliği sayacınızı netstat'tan beslemek için RRA'ları yapılandırmayı öneriyorum. Çok güzel geçmiş veriler ve kullanım alışkanlıklarınız hakkında bilgi edineceksiniz.

Mevcut sorununuzu yanıtlamak için günlük bant genişliği sınırını aşmamaya dikkat etme; Söz konusu arayüz için günlük netstat sayaçlarını almanızı tavsiye ederim. Dünkü trafiği t zamanındaki bugünkü sayaçlarla karşılaştırabilir ve ne kadar aktarıldığını öğrenebilirsiniz. Önceki değerin düz metin dosyası depolamasına sahip basit bir komut dosyası muhtemelen yeterli olacaktır. Daha sonra, bant genişliğini aşarsanız veya gün boyunca izlerseniz arayüzü devre dışı bırakabilir ve sınırınıza yaklaşıyorsanız bir yöneticiyi bilgilendirebilirsiniz.

Bir OSX sisteminde giriş baytlarını almak için aşağıdaki komut kümesini kullanabilirsiniz:

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

Tersine, çıktı şu şekilde elde edilebilir:

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

İlgili sayaçları bir yerde saklanan düz bir dosyaya açabilir ve aşağıdakilerle karşılaştırabilirsiniz:

#!/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

Netstat işlemesini sisteminize uyacak şekilde ayarlayın (OSX kullanmadığınızı bildiğim için).


25

Ayrıca VnStat kullanmanızı öneririm

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

Sysstat paketi sar yardımcı programını içerir. Sar, önceden tanımlanmış aralıklarla (cron) çeşitli istatistikleri toplayan, daha iyi bir terim olmaması nedeniyle, son derece yapılandırılabilir bir sistem "profiler" dir. Bunlar, tipik olarak haftalık olarak döndürülen, ancak yapılandırılabilir olan, her gün için bir tane olmak üzere ikili dosyalarda saklanır. Sar programı istatistikleri bu dosyalardan çıkarmak için kullanılabilir ve bu sonuçlar herhangi bir ofis programı veya gnuplot (kişisel tercihim) ile kolayca grafiklenebilir.

http://pagesperso-orange.fr/sebastien.godard/ <= Sar bilgisi
http://www.gnuplot.info/ <= gnuplot bilgisi


4

Vnstat , günlük / haftalık / aylık trafik monitörü tabanlı harika bir konsoldur . Hatta, trafiği gerçek zamanlı olarak izlemenizi sağlar, bu da kullanışlı.

Çok az sistem kaynağı kullanır;)


2

Sen istiyorsun MRTG aracını izleme bir ağdır, onun web etrafında gördüğünüz tüm ağ grafikleri üreten şey (rdtool ile resimlerin içine numaraları çevirmek için)

Ayarlamak istemiyorsanız veya daha basit bir şeye ihtiyacınız varsa, veri aktarımını kaydetmek için iptables'ı kullanabilirsiniz .



iptables bağlantısı öldü - belki bu? qaoverflow.com/question/…
twodayslate

1

Ben mrtg kullandım, bu çok güzel bir çözüm ve ilginç görünüyor ve bir ağ sondası ntop adlı trafik hakkında çok fazla bilgi veren başka bir araç var, burada CentOS'a ntop yükleme hakkında bir bağlantı bulun


1

MRTG veya Kaktüsler. Kaktüsler kurmak için bir acıdır, ancak çok güzel grafikler verir. MRTG'nin basit bir komplo kurmak kolaydır, ancak güzel veya karmaşık herhangi bir şey için oldukça zordur.


1

Munin , kurulumu çok kolay olan bir başka güzel RRD tabanlı araçtır; varsayılan ağ istatistikleri oldukça basittir, ancak ek eklentiler eklemek kolaydır. Sunucularımdan birine günlük ve haftalık istatistiklerin bir kopyasını ekledim; ayrıca farklı bir sayfada aylık ve yıllık istatistikler elde edersiniz.

Munin ağ grafiği


Görüntü artık gitti
Kanadalı Luke
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.