Każdy kto korzysta z serwerów z systemem Linux ze środowiskiem jedynie konsolowym z pewnością nie jeden raz zastanawiał się, jak można w prosty sposób zmierzyć aktualnie wysycenie łącza. Ma to szczególne znaczenie na przykład przy dostarczaniu treści typu video na żądanie lub strumieniowania, albo serwer gier, które wymagają sporego pasma. Wtedy jak najbardziej istotną jest informacja ile jeszcze można zmieścić odbiorców, ile jeszcze pomieści łącze naszego serwera.
Istnieją oczywiście kompleksowe narzędzia do monitorowania pracy serwera, takie jak Zabbix, Nagios, ale nie zawsze możemy lub chcemy mieć zainstalowany kombajn. Czasami chcemy sprawdzić adhoc aktualne wykorzystanie łącza na naszym serwerze.
Jeżeli mamy serwer wirtualny w chmurze to dostawca tego typu usługi zwykle udostępnia aktualne wykorzystanie serwera za pomocą prostych wykresów, ale nie zawsze tak jest.
Na szczęście istnieje wiele bardzo przydatnych niewielkich narzędzi, które przychodzą nam z pomocą w tego typu sytuacjach. W tej części omówię te najbardziej przydatne, niewielkie aplikacje, dzięki którym możemy w bardzo szybki i prosty sposób otrzymać na konsoli informację o aktualnym wykorzystaniu serwerowego łącza.
Niezbędne będzie posiadanie:
- dostępu root lub konta z sudo
- managera pakietów
- dostępu terminalowego do serwera
- poprawnie zapiętych repozytoriów systemu
Jeśli mamy system CentOS to konieczne będzie dociągnięcie repozytorium epel, aby narzędzia mogły zostać zainstalowane. Nie wszystkie są w głównym repozytorium.
Instalacja repozytorium epel w systemie CentOS jest banalnie prosta:
yum install epel-release
Zakładam, że to drobnostki bo każdy szanujący się admin ma do tego wszystkiego dostęp na serwerze, ale mimo wszystko nie zawsze jest to jasne.
Na szczęście istnieje wiele bardzo przydatnych niewielkich narzędzi, które przychodzą nam z pomocą w tego typu sytuacjach. W tej części omówię te najbardziej przydatne, niewielkie aplikacje, dzięki którym możemy w bardzo szybki i prosty sposób otrzymać na konsoli informację o aktualnym wykorzystaniu serwerowego łącza.
Niezbędne będzie posiadanie:
- dostępu root lub konta z sudo
- managera pakietów
- dostępu terminalowego do serwera
- poprawnie zapiętych repozytoriów systemu
Jeśli mamy system CentOS to konieczne będzie dociągnięcie repozytorium epel, aby narzędzia mogły zostać zainstalowane. Nie wszystkie są w głównym repozytorium.
Instalacja repozytorium epel w systemie CentOS jest banalnie prosta:
yum install epel-release
Zakładam, że to drobnostki bo każdy szanujący się admin ma do tego wszystkiego dostęp na serwerze, ale mimo wszystko nie zawsze jest to jasne.
nload
Proste narzędzie konsolowe do pomiarów aktualnego wykorzystania łącza w czasie rzeczywistym. Co wyróżnia nload to to, że wyświetla także kilka innych dodatkowych informacji jak ttl, średnie wykorzystanie, maksymalne wykorzystanie i minimalne. Oczywiście wyświetla też aktualne wykorzystanie łącza w atrakcyjnej formie konsolowej, o ile tak to można ująć.
CentOS:
yum install nload
Debian:
apt-get install nload
Jak korzystać z aplikacji?
nload
Jeśli chcemy wskazać konkretny interfejs sieciowy do pomiarów wykorzystajmy dodatkową zmienną:
nload eth0
iftop
Iftop to kolejne narzędzie konsolowe do badania aktualnego wykorzystania łącza. Jeśli znacie aplikację do podglądu aktualnie uruchomionych procesów “top” to z pewnością będziecie zadowoleni bowiem iftop jest podobny.
CentOS:
yum install iftop
Debian:
apt-get install iftop
iptraf
Kolejnym z narzędzi do monitorowania przepustowości sieci jest iptraf. To narzędzie w odróżnieniu od pozostałych jest kolorowe. Może być to zaleta, może być to wada, kwestia gustu. Iptraf bazuje na bibliotece ncurses i jest monitorem pakietów IP.
Za pomocą tego narzędzia możemy monitorować ruch tcp, udp, icmp.
CentOS:
yum install iptraf
Debian:
apt-get install iptraf
nethogs
Kolejne narzędzie, nieco mniej znane, ale również pomocne przy mierzeniu aktualnego wykorzystania sieci to nethogs. W odróżnieniu od innych narzędzi grupuje transfer ze względu na proces. Dzięki niemu możemy też konkretnie wskazać proces na serwerze, który generuje największe obciążenie.
CentOS:
yum install nethogs
Debian:
apt-get install nethogs
bmon
Narzędzie bierze swoją nazwę od Bandwidth Monitor – bmon. Jest to narzędzie podobne do wcześniej pokazanej aplikacji, jaką jest nload. Przedstawia ono aktualne wykorzystanie sieci na serwerze/systemie. Wyjściowo wyniki przypominają próbę konstrukcji wykresu na konsoli. Wygląda to całkiem poprawnie i jest użyteczne.
CentOS:
yum install bmon
Debian:
apt-get install bmon
slurm
Slurm jest kolejnym narzędziem do mierzenia aktualnego wykorzystania interfejsów sieciowych. Obsługuje 3 interfejsy do pokazywania/wyświetlania prędkości aktualnie wykorzystanego łącza.
CentOS:
yum install slurm
Debian:
apt-get install slurm
tcptrack
Narzędzie dla geeków. Pokazuje status połączeń TCP, które pracują na danym interfejsie sieciowym. Pokazuje informacje takie jak STATE, SOURCE, DESTINATION itd. Dodatkowo wyświetla prędkość transferu jaką generuje dany proces.
CentOS:
yum install tcptrack
Debian:
apt-get install tcptrack
vnstat
Kolejne narzędzie do pomiaru aktualnego wykorzystania łącza. Może pracować jako demon i logować informacje o wykorzystaniu łącza. Może być także uruchomiony w trybie rzeczywistym i pokazywać status łącza na bieżąco.
CentOS:
yum install vnstat
Debian:
apt-get install vnstat
bwm-ng
Bandwidth Monitor Next Generation to kolejne narzędzie tego typu. Pokazuje na bieżąco aktualne wykorzystanie łącza w systemie Linux. Jest to proste konsolowe narzędzie przedstawiające sumaryczny transfer aktualnie.
Narzędzie, choć proste, ma kilka ciekawych funkcji jak blacklistowanie i whitelistowanie interfejsów sieciowych, możliwość pokazywania prędkości KB/s, Kb/s, pakietów, błędów, średniej i sumy. Co ciekawe, może wygenerować .csv, html lub po prostu informację na konsoli.
CentOS:
yum install bwm-ng
Debian:
apt-get install bwm-ng
speedometer
Kolejnym z ciekawych narzędzi jest speedometer, który potrafi pokazywać to co inne narzędzia, ale w ciekawej, kolorowej jak na konsolę wersji. Przypomina to wykres graficzny. Dodatkowo, może on pokazywać historyczne obciążenie sieci. Jest to lekkie narzędzie napisane w języku Python.
CentOS:
yum install speedometer
Debian:
apt-get install speedometer
Podsumowanie
W systemie Linux istnieje wiele narzędzi, dzięki którym możemy w łatwy i prosty sposób mierzyć aktualne wykorzystanie sieci na poszczególnych interfejsach, procesach, a nawet analizować i gromadzić statystyki. Nie zawsze konieczne staje się wykorzystywanie paneli dostawców, większych narzędzi do graficznego monitorowania. Nawet jeśli je mamy, to te niewielkie aplikacje świetnie uzupełniają nasz serwer o możliwość szybkiego sprawdzenia adhoc wykorzystania pasma.
Od siebie dodam, że jednak ktoś myśli o złożonej analizie ruchu w sieci gdzie jest duża liczba serwerów to jednak lepiej skorzystać z takich narzędzi jak Zabbix. Dzięki utworzeniu screenów z podglądem na konkretne maszyny możemy dosyć szybko wychwycić problem.
… [Trackback]
[…] Information to that Topic: wladcysieci.pl/2020/08/11/narzedzia-do-monitorowania-ruchu-w-systemie-linux/ […]
… [Trackback]
[…] Find More here to that Topic: wladcysieci.pl/2020/08/11/narzedzia-do-monitorowania-ruchu-w-systemie-linux/ […]
… [Trackback]
[…] Find More Information here to that Topic: wladcysieci.pl/2020/08/11/narzedzia-do-monitorowania-ruchu-w-systemie-linux/ […]
… [Trackback]
[…] Read More to that Topic: wladcysieci.pl/2020/08/11/narzedzia-do-monitorowania-ruchu-w-systemie-linux/ […]