GNU/Linux >> Znalost Linux >  >> Linux

Jak monitorovat a protokolovat síťový provoz v systému Linux pomocí vnStat

Tento článek je součástí naší série článků o průběžném sledování výkonu.

V tomto článku se zaměříme na to, jak monitorovat síťový provoz a protokolovat jej pro pozdější analýzu pomocí nástroje vnstat.

vnstat je nástroj příkazového řádku, který zobrazuje a zaznamenává síťový provoz rozhraní ve vašich systémech. To závisí na statistikách sítě poskytovaných jádrem. Vnstat tedy nepřidává žádné další zatížení vašeho systému pro monitorování a protokolování síťového provozu.

1. Nainstalujte vnStat

Nainstalujte vnStat do svého systému z úložiště, které je specifické pro vaše distribuce Linuxu.

Například na Ubuntu použijte apt-get k instalaci, jak je uvedeno níže.

$ apt-get install vnstat

Pokud jej chcete nainstalovat ze zdroje, stáhněte si zdroj vnStat odtud nebo použijte wget, jak je uvedeno níže, ke stažení a instalaci.

Vezměte prosím na vědomí, že k analýze síťového provozu můžete také použít Mergecap a Tshark.

wget http://humdi.net/vnstat/vnstat-1.11.tar.gz
cd vnstat-1.11
make
make install

Vezměte prosím na vědomí, že nemusíte provádět „./configure“, jak to obvykle děláte u jiných instalací založených na zdroji.

Protože vnstat závisí na informacích poskytovaných jádrem, spusťte následující příkaz a ověřte, zda jádro poskytuje všechny informace, které vnStat očekává.

# vnstat --testkernel
This test will take about 60 seconds.
Everything is ok.

2. Vyberte rozhraní pro sledování pomocí vnStat

vnStat nemonitoruje žádná rozhraní, pokud o to výslovně nepožádáte.

Chcete-li zahájit monitorování eth0, proveďte následující. Toto je potřeba provést pouze jednou. Jak vidíte níže, vytvoří se tím databázový soubor eth0 v adresáři /var/lib/vnstat, který bude obsahovat všechny zprávy protokolu síťového provozu pro toto specifické rozhraní.

# vnstat -u -i eth0
Error: Unable to read database "/var/lib/vnstat/eth0".
Info: -> A new database has been created.

Chcete-li zobrazit všechna dostupná rozhraní ve vašem systému, která může vnStat monitorovat, proveďte následující.

# vnstat --iflist
Available interfaces: lo eth0 eth1 sit0

Spusťte vnstatd (démon vnstat), který bude tyto informace sledovat a zaznamenávat na pozadí.

# vnstatd -d
# ps -ef | grep vnst
root     14353     1  0 09:12 ?        00:00:00 vnstatd -d
root     14355   330  0 09:12 pts/1    00:00:00 grep vnst

Poznámka:Do souboru /etc/rc.local můžete přidat „vnstatd -d“, aby se automaticky spustil při každém restartu systému.

3. Základní použití vnStat

vnstat bez jakéhokoli argumentu vám poskytne rychlé shrnutí s následujícími informacemi:

  • Naposledy byla aktualizována databáze vnStat umístěná pod /var/lib/vnstat/
  • Od okamžiku, kdy začal shromažďovat statistiky pro konkrétní rozhraní
  • Statistická data sítě (vyslané bajty, přijaté bajty) za poslední dva měsíce a poslední dva dny.
# vnstat
Database updated: Sat Oct 15 11:54:00 2011

   eth0 since 10/01/11

          rx:  12.89 MiB      tx:  6.94 MiB      total:  19.82 MiB

   monthly
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
       Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
       Oct '11     12.89 MiB |    6.94 MiB |   19.82 MiB |    0.15 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated        29 MiB |      14 MiB |      43 MiB |

	 daily
                     rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
     yesterday      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
         today      2.03 MiB |    1.07 MiB |    3.10 MiB |    0.59 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         4 MiB |       2 MiB |       6 MiB |

Poznámka:Pokud jste právě nainstalovali vnStat, zobrazí se následující zpráva „eth0:Zatím není k dispozici dostatek dat.“. Počkejte chvíli a zkuste příkaz znovu.

4. vnStat hodiny, dny, měsíce, týdny Data sítě

Použijte „vnstat -h“ (nebo) „vnstat –hodiny“ pro rozdělení statistických dat sítě podle hodin. Zobrazí se také textový graf.

Použijte „vnstat -d“ (nebo) „vnstat –dny“ pro rozdělení statistických dat sítě podle dnů.

# vnstat -d
 eth0  /  daily
         day         rx      |     tx      |    total    |   avg. rate
     ------------------------+-------------+-------------+---------------
      10/10/11      2.48 MiB |    1.28 MiB |    3.76 MiB |    0.36 kbit/s
      10/11/11      4.07 MiB |    2.17 MiB |    6.24 MiB |    0.59 kbit/s
      10/12/11      4.30 MiB |    2.42 MiB |    6.72 MiB |    0.64 kbit/s
      10/13/11      2.06 MiB |    1.10 MiB |    3.16 MiB |    0.60 kbit/s
     ------------------------+-------------+-------------+---------------
     estimated         3 MiB |       1 MiB |       4 MiB |

Použijte „vnstat -m“ (nebo) „vnstat –měsíce“ pro rozdělení statistických dat sítě podle měsíců.

# vnstat --m

 eth0  /  monthly

       month        rx      |     tx      |    total    |   avg. rate
    ------------------------+-------------+-------------+---------------
      Sep '11     12.90 MiB |    6.90 MiB |   19.81 MiB |    0.14 kbit/s
      Oct '11     12.92 MiB |    6.96 MiB |   19.89 MiB |    0.15 kbit/s
    ------------------------+-------------+-------------+---------------
    estimated        29 MiB |      14 MiB |      43 MiB |

Podobně jako u dnů a měsíců použijte „vnstat -m“ (nebo) „vnstat –měsíce“ pro rozdělení statistických dat sítě podle týdnů.

5. Exportujte data do Excelu nebo jiné DB

Pokud chcete exportovat data monitorování sítě do excelové nebo jiné databáze, můžete data vypsat v textovém formátu odděleném středníkem, který můžete importovat do Excelu nebo jiné databáze.

Prvních několik řádků výstupu –dumpdb obsahuje nějaké informace v záhlaví. Po řádcích záhlaví má 30 řádků začínajících na „d;“ (d;0;1318316406;1;0;386;698;1). Tento řádek obsahuje následující informace oddělené středníkem.

  • d – znamená dny
  • 0 – číslo dne. 0 označuje dnešek.
  • 1318316406 – data ve formátu Unix
  • Poté obsahuje odeslané a přijaté bajty
$ vnstat --dumpdb
interface;eth0
created;1218562937
updated;1218546895
totalrx;3
totaltx;1
...
...
d;0;1328316406;1;0;386;698;1
d;1;1345262937;2;1;494;289;1

Můžete také použít „vnstat –oneline“, který zobrazí souhrn provozu na jednom řádku, kde jsou hodnoty odděleny středníkem.

$ vnstat --oneline
1;eth0;10/11/11;1.45 MiB;801 KiB;2.23 MiB;0.59 kbit/s;Oct '11;3.93 MiB;2.06 MiB;6.00 MiB;0.05 kbit/s;3.93 MiB;2.06 MiB;6.00 MiB

6. Zobrazit živé statistiky sítě

Použijte „vnstat -l“ nebo „vnstat –live“ k zobrazení aktuálních síťových statistických informací.

$ vnstat -l
Monitoring eth0...    (press CTRL-C to stop)

   rx:        2 kbit/s     5 p/s          tx:        2 kbit/s     4 p/s

Poté, co jej zastavíte stisknutím Ctrl-C, vnstat zobrazí souhrn za časové období, kdy byl spuštěn živý monitor.

7. Změňte výchozí výstupní formát vnstat

Použijte „vnstat -s“ nebo „vnstat –short“, které zobrazí krátké shrnutí statistik sítě. To zahrnuje statistiky za dnešek, včerejšek a aktuální měsíc.

$ vnstat -s (--short)

                      rx      /      tx      /     total    /   estimated
 eth0:
       Oct '11      3.93 MiB  /    2.06 MiB  /    6.00 MiB  /   13.00 MiB
     yesterday      2.48 MiB  /    1.28 MiB  /    3.76 MiB
         today      1.45 MiB  /     801 KiB  /    2.23 MiB  /      --

Můžete také použít „vnstat –style 0“, který poskytne výstup úzkého sloupce, který je snáze čitelný než výchozí výstup širšího sloupce.

$ vnstat --style 0

Níže je uveden počet dostupných stylů:

  • 0 – úzký výstup
  • 1 – Povolit sloupec sloupců
  • 2 – Povolí sloupec a zobrazí průměrnou míru provozu v souhrnu
  • 3 – Zobrazení průměrné rychlosti provozu ve všech výstupech
  • 4 – v kombinaci s živým režimem (vnstat -l) deaktivujte ovládací znaky terminálu

8. Zobrazit 10 dní s nejvyšší návštěvností

Pomocí „vnstat -t“ nebo „vnstat –top10“ zobrazíte všech 10 dní s nejvyšší návštěvností.

$ vnstat --top10

 eth0  /  top 10

    #      day          rx      |     tx      |    total    |   avg. rate
   -----------------------------+-------------+-------------+---------------
    1   10/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
    ....
   -----------------------------+-------------+-------------+---------------

Předchozí články ze série sledování a ladění výkonu Linuxu:

  • Úvod do monitorování a ladění výkonu systému Linux
  • 15 praktických příkladů hlavních příkazů Linuxu
  • 7 praktických příkladů příkazů PS pro monitorování procesu
  • 10 užitečných příkladů Sar (Sysstat) pro monitorování výkonu UNIX / Linux
  • 10 příkladů iozone pro měření výkonu disku I/O v systému Linux
  • 24 příkladů iostat, vmstat a mpstat pro monitorování výkonu systému Linux

Linux
  1. Jak monitorovat síťový přepínač a porty pomocí Nagios

  2. Jak monitorovat síťový provoz na Linuxu pomocí vnStat

  3. Linux:Jak měřit denní/měsíční síťový provoz?

  1. Jak nastavit statickou IP adresu a nakonfigurovat síť v Linuxu

  2. Jak spravovat soubory protokolu pomocí Logrotate v Linuxu

  3. Linux – Jak přesměrovat provoz mezi linuxovými síťovými jmennými prostory?

  1. Jak monitorovat váš Linux Server pomocí osquery

  2. Jak monitorovat linuxové servery pomocí CloudStats

  3. Instalace a používání vnStat a vnStati pro monitorování síťového provozu v Ubuntu