V ére cloud computingu sa virtuálne stroje (VM) stali veľmi bežnými, zatiaľ čo používanie fyzických strojov začalo postupne klesať. V tomto príspevku si predstavíme nástroje ‘vnStat’ a ‘iftop’, ktoré môžeme použiť na monitorovanie spotreby dát vo VM.
Najprv vytvorím stroj s nasledujúcimi prostriedkami:
20 GHz CPU
16 GB RAM
20 GB SSD
Pripájam disk s obrazom Ubuntu 18.04, ktorý je k dispozícii v CloudSigma’s knižnici.
Ubuntu 18.04 : Predinštalovaný 64-bitový s ovládačmi VirtIO, superuser, Python 2.7.15, Pip 18.0, OpenSSL 1.1.0i, Cloud-init a najnovšími aktualizáciami do 30.09.2018.
Ďalej aktualizujem všetky existujúce repozitáre a balíky v stroji.
|
1 2 |
sudo apt update sudo apt upgrade |
Teraz, keď je náš systém aktuálny, prejdem k našim nástrojom ‘vnStat’ a ‘iftop’.
VNSTAT
Podľa humdi, vnStat je konzolový monitor sieťovej prevádzky pre Linux a BSD, ktorý uchováva záznamy o sieťovej prevádzke pre vybrané rozhrania. Ako zdroj informácií využíva štatistiky sieťového rozhrania poskytované jadrom. To znamená, že vnStat v skutočnosti nebude odpočúvať žiadnu prevádzku a tiež zabezpečuje nízke využitie systémových prostriedkov.
Niektoré z funkcií vnStat sú:
- Aj keď sa systém reštartuje, dáta stále pretrvávajú.
- Môže monitorovať viacero rozhraní súčasne.
- K dispozícii je niekoľko možností výstupu, napríklad podľa dní, týždňov atď.
- Zásady uchovávania údajov môže nakonfigurovať používateľ.
- Mesiace je možné nakonfigurovať podľa fakturačného cyklu.
- Samotný nástroj je veľmi ľahký a využitie prostriedkov je minimálne.
- Využitie CPU bude rovnaké bez ohľadu na prevádzku.
Inštalácia
Na inštaláciu vnStat použite nasledujúci príkaz:
|
1 |
sudo apt install vnstat |
Malo by to automaticky detegovať sieťové rozhranie. V prípade, že sa tak nestane, môžem rozhranie skontrolovať pomocou príkazu:
|
1 |
ip addr |
V mojom prípade vidím dve rozhrania:
|
1 2 3 4 5 6 7 8 9 10 11 12 |
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 22:af:d1:32:d2:0b brd ff:ff:ff:ff:ff:ff inet XXX.XXX.XX.XXX/24 brd XXX.XXX.XX.XXX scope global dynamic ens3 valid_lft 1853sec preferred_lft 1853sec inet6 fe80::20af:d1ff:fe32:d20b/64 scope link valid_lft forever preferred_lft forever |
Rozhranie loopback môžem ignorovať. Rozhranie, ktoré chcem monitorovať, je ‘ens3’. V nástroji vnStat to môžem aktualizovať pomocou príkazu:
|
1 |
sudo vnstat -u -i ens3 |
Usage Guide
Návod na použitie si môžete zobraziť pomocou príkazu: vnStat –help
Použitie bude opísané takto:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
vnStat 1.18 od Teemu Toivola <tst at iki dot fi> -q, --query query databázu -h, --hours zobraziť hodiny -d, --days zobraziť dni -m, --months zobraziť mesiace -w, --weeks zobraziť týždne -t, --top10 zobraziť top 10 dní -s, --short použiť krátky výstup -u, --update aktualizovať databázu -i, --iface vybrať rozhranie (predvolené: ens3) -?, --help krátka pomoc -v, --version zobraziť verziu -tr, --traffic vypočítať prevádzku -ru, --rateunit zameniť nakonfigurovanú jednotku rýchlosti -l, --live zobraziť rýchlosť prenosu v reálnom čase Pozri tiež "--longhelp" pre úplný zoznam možností a "man vnstat". |
Pomocou týchto príkazov môžeme získať metriky využitia dát.
Pre jednoduché a intuitívne monitorovanie môžeme nainštalovať vnStat dashboard. Nasledujú kroky na inštaláciu dashboardu:
Nainštalujte nasledujúce požadované závislosti:
|
1 |
sudo apt install apache2 php wget unzip -y |
Po inštalácii požadovaných závislostí stiahneme dashboard z repozitára GitHub, rozbalíme ho a umiestnime do adresára nášho webového servera.
|
1 2 3 |
wget https://github.com/alexandermarston/vnstat-dashboard/archive/master.zip unzip master.zip sudo mv vnstat-dashboard-master/ /var/www/html/vnstat/ |
Ďalej musíme upraviť konfiguráciu.
|
1 |
sudo vi /var/www/html/vnstat/config.php |
Nasledujúce riadky bude potrebné zmeniť. Požadované zmeny označujem tučným písmom.
|
1 2 3 4 5 6 7 |
$use_predefined_interfaces = <strong>true</strong>; if ($use_predefined_interfaces == <strong>true</strong>) { $interface_list = <strong>["ens3"]</strong>; $interface_name<strong>['ens3']</strong> = "Testovacie rozhranie"; } |
Môžem pomenovať rozhranie, aby sa dalo ľahšie monitorovať. Na monitorovanie je možné mať viacero rozhraní. Môžeme ich pridať sem.
Po vykonaní zmien otvorte <<IP-ADDRESS>>/vnstat
Teraz vidím dáta elegantným spôsobom.


IFTOP
iftop počúva sieťovú prevádzku na pomenovanom rozhraní alebo na prvom rozhraní, ktoré dokáže nájsť a ktoré vyzerá ako externé rozhranie, ak nie je špecifikované žiadne. Zobrazuje tabuľku aktuálneho využitia šírky pásma dvojicami hostiteľov. iftop musíme spustiť s dostatočnými oprávneniami na monitorovanie všetkej sieťovej prevádzky na rozhraní.
Inštalácia
Iftop môžeme nainštalovať pomocou nasledujúceho príkazu:
|
1 |
sudo apt install iftop |
Návod na použitie
Návod na použitie si môžete pozrieť pomocou príkazu: iftop -h
Použitie bude opísané takto:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
iftop: zobraziť využitie šírky pásma na an rozhraní podľa hostiteľa Prehľad: iftop -h | [-npblNBP] [-i rozhranie] [-f kód filtra] [-F sieť/maska] [-G sieť6/maska6] -h zobraziť túto správu -n nevyhľadávať názvy hostiteľov -N neprevádzaťt čísla portov na služby services -p spustiť v promiskuitnom režime (zobraziť prevádzku medzi ostatnými hostiteľmi na rovnakom sieťovom segmentesegment) -b ne'zobrazovať display a stĺpcový graf prevádzkytraffic -B Zobraziť šírku pásma v bajtoch -i rozhranie počúvať na pomenovanom rozhraní -f filtračný kód použiť filtračný kód na výber paketov na počítanie (predvolene: žiadne, , ale iba IP pakety sú počítané) -F sieť/maska zobraziť toky prevádzky dnu /a von z IPv4 siete -G sieť6/maska6 zobraziť toky prevádzky dnu /a von z IPv6 siete -l zobraziť a počítať linkovo--lokálnu IPv6 prevádzku (predvolene: vypnuté) -P zobraziť porty rovnako ako aj hostiteľov -m limit nastavuje hornú hranicu pre mierku šírky pásmascale -c konfiguračný súbor určuje alternatívny konfiguračný súborfile -t použiť textové rozhranie bez ncurses Kritériá triedenia: -o 2s Triediť podľa prvého stĺpca, (priemerná prevádzka za 2s) -o 10s Triediť podľa druhého stĺpca, (priemerná prevádzka za 10s) [predvolené] -o 40s Triediť podľa tretieho stĺpca, (priemerná prevádzka za 40s) -o zdroj Triediť podľa zdrojovej adresy -o cieľ Triediť podľa cieľovej adresy Nasledujúce možnosti sú dostupné iba v kombinácii s t -t -s num vytlačiť jeden samostatný textový výstup po num sekundách, , potom skončiť -L num počet riadkov na vytlačenie print iftop, verzia 1.0pre4 copyright (c) 2002 Paul Warren <pdw@ex-parrot.com> a prispievatelia |
Na fungovanie sú potrebné práva root. Jednoducho používam sudo, keďže môj používateľ cloudsigma je v skupine sudoers. Môžem tiež použiť príkaz ‘sudo su’ a potom spustiť všetky príkazy ako používateľ root.
Nasledujúci príkaz mi zobrazí všetky pripojenia na rozhraní ‘ens3’ a dátové transakcie:
|
1 2 |
sudo su iftop |
Jednoduchší spôsob, ak je požiadavkou zachytiť dátovú prevádzku na určitý časový úsek:
|
1 |
iftop -t -s 30 |
Vyššie uvedený príkaz zosumarizuje transakcie dátovej prevádzky na nasledujúcich 30 sekúnd a po uplynutí tohto času zobrazí tabuľku so zoznamom všetkých prenesených dát a prenosových rýchlostí.
Hoci iftop poskytuje prenosové rýchlosti v reálnom čase, neukladá dáta ani nemá ovládací panel, na ktorom by sme mohli intuitívne vizualizovať a sledovať vzorce správania. Ak teda chceme vidieť prenosové rýchlosti v reálnom čase, odporúčame iftop. Na monitorovanie dátovej prevádzky počas dlhšieho obdobia odporúčame vnStat.
Dúfame, že tento návod využijete vo svoj prospech a uplatníte základy používania vnStat a iftop na monitorovanie spotreby dát v rámci VM.
Komentáre
Zatiaľ žiadne komentáre. Buďte prvý.