20 narzędzi wiersza poleceń do monitorowania wydajności systemu Linux
To jest naprawdę bardzo trudne zadanie dla każdego administratora systemu lub sieci aby monitorować i usuwać problemy z wydajnością systemu Linux każdego dnia. Po byciu Administratorem Linuksa przez 5 lat w branży IT, doszedłem do wniosku, że jak ciężko jest monitorować i utrzymywać systemy w gotowości do pracy. Z tego powodu, stworzyliśmy listę 20 najczęściej używanych narzędzi monitorujących, które mogą być przydatne dla każdego administratora systemu Linux/Unix. Polecenia te są dostępne pod wszystkimi smakami Linuksa i mogą być przydatne do monitorowania i znajdowania rzeczywistych przyczyn problemów z wydajnością. Ta lista poleceń pokazana tutaj jest wystarczająca abyś mógł wybrać to, które jest odpowiednie dla twojego scenariusza monitorowania.
1. Top – Linux Process Monitoring
Linux polecenie Top jest programem do monitorowania wydajności, który jest często używany przez wielu administratorów systemu do monitorowania wydajności Linuksa i jest dostępny pod wieloma systemami operacyjnymi typu Linux/Unix. Polecenie Top służy do wyświetlania wszystkich działających i aktywnych procesów w czasie rzeczywistym w postaci uporządkowanej listy i regularnie ją aktualizuje. Wyświetla użycie CPU, użycie pamięci, pamięć Swap, rozmiar pamięci podręcznej, rozmiar bufora, PID procesu, użytkownika, polecenia i wiele więcej. Pokazuje również wysokie wykorzystanie pamięci i cpu uruchomionego processess. Polecenie top jest bardzo przydatne dla administratora systemu do monitorowania i podejmowania prawidłowych działań, gdy jest to wymagane. Zobaczmy komendę top w akcji.
# top
Dla więcej przykładów polecenia top przeczytaj : 12 przykładów komend TOP w Linuksie
2. VmStat – Statystyki Pamięci Wirtualnej
Linux VmStat komenda używana do wyświetlania statystyk pamięci wirtualnej, wątków kernerl, dysków, procesów systemowych, bloków I/O, przerwań, aktywności CPU i wielu innych. Domyślnie polecenie vmstat nie jest dostępne w systemach Linux musisz zainstalować pakiet o nazwie sysstat, który zawiera program vmstat. Powszechnie używanym formatem komendy jest.
# vmstatprocs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free inact active si so bi bo in cs us sy id wa st 1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0
Po więcej przykładów Vmstat przeczytaj : 6 Vmstat Command Examples in Linux
3. Lsof – Lista Otwartych Plików
Komenda Lsof używana w wielu systemach Linux/Unix like, która jest używana do wyświetlania listy wszystkich otwartych plików i procesów. Otwarte pliki to pliki dyskowe, gniazda sieciowe, rury, urządzenia i procesy. Jednym z głównych powodów używania tego polecenia jest sytuacja, gdy dysk nie może być odmontowany i wyświetla błąd, że pliki są używane lub otwarte. Dzięki temu poleceniu można łatwo zidentyfikować, które pliki są w użyciu. Najczęstszym formatem dla tego polecenia jest.
# lsofCOMMAND PID USER FD TYPE DEVICE SIZE NODE NAMEinit 1 root cwd DIR 104,2 4096 2 /init 1 root rtd DIR 104,2 4096 2 /init 1 root txt REG 104,2 38652 17710339 /sbin/initinit 1 root mem REG 104,2 129900 196453 /lib/ld-2.5.soinit 1 root mem REG 104,2 1693812 196454 /lib/libc-2.5.soinit 1 root mem REG 104,2 20668 196479 /lib/libdl-2.5.soinit 1 root mem REG 104,2 245376 196419 /lib/libsepol.so.1init 1 root mem REG 104,2 93508 196431 /lib/libselinux.so.1init 1 root 10u FIFO 0,17 953 /dev/initctl
Więcej użycia polecenia lsof i przykłady : 10 przykładów komend lsof w Linuksie
4. Tcpdump – sieciowy analizator pakietów
Tcpdump jest jednym z najczęściej używanych sieciowych analizatorów pakietów z wiersza poleceń lub programem snifferującym pakiety, który jest używany do przechwytywania lub filtrowania pakietów TCP/IP otrzymywanych lub przesyłanych na określonym interfejsie w sieci. Zapewnia również opcję zapisywania przechwyconych pakietów w pliku do późniejszej analizy. tcpdump jest prawie dostępny we wszystkich głównych dystrybucjach Linuksa.
# tcpdump -i eth0tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 964822:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 964822:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347
Aby dowiedzieć się więcej na temat użycia tcpdump przeczytaj: 12 przykładów poleceń Tcpdump w Linuksie
5. Netstat – statystyki sieciowe
Netstat jest narzędziem wiersza poleceń do monitorowania statystyk przychodzących i wychodzących pakietów sieciowych jak również statystyk interfejsów. Jest to bardzo przydatne narzędzie dla każdego administratora systemu do monitorowania wydajności sieci i rozwiązywania problemów związanych z siecią.
# netstat -a | moreActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address Foreign Address Statetcp 0 0 *:mysql *:* LISTENtcp 0 0 *:sunrpc *:* LISTENtcp 0 0 *:realm-rusd *:* LISTENtcp 0 0 *:ftp *:* LISTENtcp 0 0 localhost.localdomain:ipp *:* LISTENtcp 0 0 localhost.localdomain:smtp *:* LISTENtcp 0 0 localhost.localdomain:smtp localhost.localdomain:42709 TIME_WAITtcp 0 0 localhost.localdomain:smtp localhost.localdomain:42710 TIME_WAITtcp 0 0 *:http *:* LISTENtcp 0 0 *:ssh *:* LISTENtcp 0 0 *:https *:* LISTEN
Więcej przykładów Netstat : 20 Netstat Command Examples in Linux.
6. Htop – Linux Process Monitoring
Htop jest bardzo zaawansowanym interaktywnym i działającym w czasie rzeczywistym narzędziem do monitorowania procesów w Linuksie. To jest bardzo podobny do Linux top komendy, ale ma kilka bogatych funkcji, takich jak przyjazny interfejs użytkownika do zarządzania procesem, klawisze skrótów, pionowy i poziomy widok procesów i wiele więcej. Htop jest narzędziem firm trzecich i nie jest zawarte w systemach Linux, musisz zainstalować go za pomocą narzędzia YUM menedżera pakietów. Aby uzyskać więcej informacji na temat instalacji przeczytaj nasz artykuł poniżej.
# htop
Dla instalacji Htop przeczytaj : Zainstaluj Htop (Linux Process Monitoring) w systemie Linux
7. Iotop – Monitor Linux Disk I/O
Iotop jest również bardzo podobny do polecenia top i programu Htop, ale ma funkcję księgowania do monitorowania i wyświetlania w czasie rzeczywistym Disk I/O i procesów. To narzędzie jest bardzo przydatne do znalezienia dokładnego procesu i wysoko używanych odczytów/zapisów dyskowych procesów.
# iotop
Dla instalacji i użycia Iotop przeczytaj : Zainstaluj Iotop w Linuksie
8. Iostat – Input/Output Statistics
IoStat jest prostym narzędziem, które zbierze i pokaże systemowe statystyki wejść i wyjść urządzeń magazynujących. To narzędzie jest często używane do śledzenia problemów z wydajnością urządzeń pamięci masowej, włączając w to urządzenia, dyski lokalne, dyski zdalne takie jak NFS.
# iostatLinux 2.6.18-238.9.1.el5 (tecmint.com) 09/13/2012avg-cpu: %user %nice %system %iowait %steal %idle 2.60 3.65 1.04 4.29 0.00 88.42Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtncciss/c0d0 17.79 545.80 256.52 855159769 401914750cciss/c0d0p1 0.00 0.00 0.00 5459 3518cciss/c0d0p2 16.45 533.97 245.18 836631746 384153384cciss/c0d0p3 0.63 5.58 3.97 8737650 6215544cciss/c0d0p4 0.00 0.00 0.00 8 0cciss/c0d0p5 0.63 3.79 5.03 5936778 7882528cciss/c0d0p6 0.08 2.46 2.34 3847771 3659776
Dla więcej użycia Iostatu i przykładów odwiedź : 6 Iostat Command Examples in Linux
9. IPTraf – Real Time IP LAN Monitoring
IPTraf jest otwartym, konsolowym narzędziem do monitorowania sieci (IP LAN) w czasie rzeczywistym dla Linuksa. Zbiera różne informacje, takie jak monitor ruchu IP, który przechodzi przez sieć, w tym informacje o flagach TCP, szczegóły ICMP, podziały ruchu TCP/UDP, pakiety połączeń TCP i liczniki byne. Zbiera również informacje o ogólnych i szczegółowych statystykach interfejsów TCP, UDP, IP, ICMP, non-IP, błędy sum kontrolnych IP, aktywność interfejsu itp.
Więcej informacji na temat narzędzia IPTraf można znaleźć na stronie : IPTraf Network Monitoring Tool
10. Psacct lub Acct – Monitorowanie aktywności użytkowników
narzędzia psacct lub acct są bardzo przydatne do monitorowania aktywności każdego użytkownika w systemie. Oba demony działają w tle i pilnują ogólnej aktywności każdego użytkownika w systemie, a także jakie zasoby są przez niego zużywane.
Narzędzia te są bardzo przydatne dla administratorów systemu do śledzenia aktywności każdego użytkownika, np. co robi, jakie polecenia wydał, ile zasobów jest przez niego zużywanych, jak długo jest aktywny w systemie itp.
Dla instalacji i przykładów użycia poleceń przeczytaj artykuł na temat Monitorowania aktywności użytkownika za pomocą psacct lub acct
11. Monit – Linux Process and Services Monitoring
Monit jest darmowym open source i opartym na sieci Web narzędziem do nadzorowania procesów, które automatycznie monitoruje i zarządza systemowymi procesami, programami, plikami, katalogami, uprawnieniami, sumami kontrolnymi i systemami plików.
Monit monitoruje usługi takie jak Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH i tak dalej. Status systemu może być przeglądany z linii poleceń lub za pomocą własnego interfejsu WWW.
Read More : Linux Process Monitoring with Monit
12. NetHogs – Monitor Per Process Network Bandwidth
NetHogs to niewielki program open source (podobny do linuksowego top command), który śledzi aktywność sieciową każdego procesu w twoim systemie. Śledzi on również w czasie rzeczywistym przepustowość sieci wykorzystywaną przez każdy program lub aplikację.
Read More : Monitor Linux Network Bandwidth Using NetHogs
13. iftop – Monitorowanie przepustowości sieci
iftop to kolejne terminalowe, darmowe narzędzie open source do monitorowania systemu, które wyświetla często aktualizowaną listę wykorzystania pasma sieciowego (hosty źródłowe i docelowe), które przechodzi przez interfejs sieciowy w twoim systemie. iftop jest narzędziem z rodziny 'top', które monitoruje wybrany interfejs i wyświetla aktualne wykorzystanie pasma pomiędzy dwoma hostami.
Read More : iftop – Monitorowanie wykorzystania przepustowości sieci
14. Monitorix – Monitorowanie systemu i sieci
Monitorix to darmowe, lekkie narzędzie przeznaczone do uruchamiania i monitorowania zasobów systemowych i sieciowych w serwerach Linux/Unix. Posiada wbudowany serwer WWW HTTP, który regularnie zbiera informacje o systemie i sieci i wyświetla je w postaci wykresów. Monitoruje średnie obciążenie systemu i jego wykorzystanie, alokację pamięci, stan sterowników dyskowych, usługi systemowe, porty sieciowe, statystyki poczty (Sendmail, Postfix, Dovecot, itp.), statystyki MySQL i wiele innych. Przeznaczony jest do monitorowania ogólnej wydajności systemu i pomaga w wykrywaniu awarii, wąskich gardeł, nieprawidłowych działań itp.
Read More : Monitorix a System and Network Monitoring Tool for Linux
15. Arpwatch – Ethernet Activity Monitor
Arpwatch jest programem przeznaczonym do monitorowania rozdzielczości adresów (zmiany adresów MAC i IP) w ruchu sieciowym Ethernet w sieci Linux. W sposób ciągły obserwuje on ruch w sieci Ethernet i tworzy logi zmian par adresów IP i MAC wraz ze znacznikami czasowymi w sieci. Posiada również funkcję wysyłania powiadomień e-mail do administratora, gdy para adresów zostanie dodana lub zmieniona. Jest bardzo przydatny w wykrywaniu ARP spoofing w sieci.
Read More : Arpwatch to Monitor Ethernet Activity
16. Suricata – Network Security Monitoring
Suricata jest wysokowydajnym systemem open source do monitorowania bezpieczeństwa sieci oraz wykrywania i zapobiegania włamaniom dla systemów Linux, FreeBSD i Windows. Został zaprojektowany i jest własnością fundacji non-profit OISF (Open Information Security Foundation).
Read More : Suricata – A Network Intrusion Detection and Prevention System
17. VnStat PHP – Monitorowanie przepustowości sieci
VnStat PHP to aplikacja webowa dla najpopularniejszego narzędzia sieciowego o nazwie „vnstat”. VnStat PHP monitoruje wykorzystanie ruchu sieciowego w przyjemny graficzny sposób. Wyświetla całkowite użycie ruchu sieciowego IN i OUT w raporcie godzinowym, dziennym, miesięcznym i pełnym podsumowaniu.
Read More : VnStat PHP – Monitorowanie przepustowości sieci
18. Nagios – Monitorowanie sieci/serwerów
Nagios jest wiodącym systemem monitorowania typu open source, który umożliwia administratorom sieci/systemów identyfikację i rozwiązywanie problemów związanych z serwerami, zanim wpłyną one na główne procesy biznesowe. Dzięki systemowi Nagios administratorzy mogą w jednym oknie monitorować zdalne systemy Linux, Windows, przełączniki, routery i drukarki. Pokazuje krytyczne ostrzeżenia i wskazuje, czy coś poszło nie tak w sieci/serwerze, co pośrednio pomaga rozpocząć procesy naprawcze, zanim one wystąpią.
Read More : Install Nagios Monitoring System to Monitor Remote Linux/Windows Hosts
Nmon: Monitor Linux Performance
Nmon (skrót od Nigel’s Performance Monitor) to narzędzie, które służy do monitorowania wszystkich zasobów Linuksa, takich jak CPU, Pamięć, Użycie dysków, Sieć, Top procesy, NFS, Jądro i wiele innych. Narzędzie to dostępne jest w dwóch trybach: Online Mode i Capture Mode.
The Online Mode, jest używany do monitorowania w czasie rzeczywistym i Capture Mode, jest używany do przechowywania danych wyjściowych w formacie CSV do późniejszego przetwarzania.
Read More: Install Nmon (Performance Monitoring) Tool in Linux
Collectl: All-in-One Performance Monitoring Tool
Collectl jest kolejnym potężnym i bogatym w funkcje narzędziem działającym w linii poleceń, które może być używane do zbierania informacji o zasobach systemu Linux takich jak użycie CPU, pamięć, sieć, inodes, procesy, nfs, tcp, gniazda i wiele więcej.
Read More: Zainstaluj narzędzie Collectl (All-in-One Performance Monitoring) w systemie Linux
.