20 alata komandne linije koje morate imati za praćenje performansi Linuxa
Biti sistemski ili mrežni administrator zadužen za praćenje i otklanjanje grešaka u radu Linux sistema na dnevnoj bazi je neizmjerno izazovna odgovornost.
Zahteva nepokolebljivu posvećenost, duboko razumevanje Linux sistema i stalnu posvećenost obezbeđivanju optimalnih performansi i pouzdanosti.
Nakon što sam deceniju posvetio radu kao Linux administrator u IT industriji, počeo sam da zaista cenim težak zadatak nadgledanja i obezbeđivanja kontinuiranog rada sistema.
U svetlu ovoga, sastavili smo sveobuhvatnu listu 20 najčešće korišćenih alata za praćenje komandne linije. Ovi neprocjenjivi alati mogu se pokazati neophodnim za svakog administratora sistema Linux/Unix, osnažujući ih da efikasno nadgledaju, dijagnosticiraju i održavaju zdravlje i performanse svojih sistema.
Ovi alati za praćenje su dostupni u svim verzijama Linuxa i mogu biti korisni za praćenje i pronalaženje stvarnih uzroka problema s performansama. Ova lista naredbi prikazana ovdje je sasvim dovoljna da odaberete onu koja je prikladna za vaš scenarij praćenja.
1. Vrh – Nadgledanje procesa u Linuxu
Linux top komanda je program za praćenje performansi koji često koriste mnogi sistemski administratori za praćenje performansi Linuxa i dostupna je pod mnogim Linux/Unix-ovim operativnim sistemima.
Naredba top se koristi za prikaz svih pokrenutih i aktivnih procesa u realnom vremenu u uređenoj listi i redovno je ažurira. Prikazuje Potrošnja CPU-a, Potrošnja memorije, Zamijeni memoriju, Veličina keš memorije, Veličina međuspremnika >, PID procesa, Korisnik, Komande i još mnogo toga.
Takođe pokazuje visoku iskorišćenost memorije i procesora pokrenutih procesa. Naredba top je veoma korisna za sistemske administratore da nadgledaju i poduzmu korektivne mjere kada je to potrebno. Pogledajmo top komandu u akciji.
top
2. VmStat – Statistika virtuelne memorije
Linux VmStat komanda se koristi za prikaz statistike virtuelne memorije, kernel threadova, diskova, sistemskih procesa , I/O blokovi, prekidi, aktivnost CPU-a, i još mnogo toga.
Instalirajte VmStat na Linux
Po defaultu naredba vmstat nije dostupna pod Linux sistemima, morate instalirati paket pod nazivom sysstat (moćan alat za praćenje) koji uključuje program vmstat.
sudo yum install sysstat [On Older CentOS/RHEL & Fedora]
sudo dnf install sysstat [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
sudo apt-get install sysstat [On Debian/Ubuntu & Mint]
sudo pacman -S sysstat [On Arch Linux]
Uobičajena upotreba formata naredbe vmstat je.
vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 43008 275212 1152 561208 4 16 100 105 65 113 0 1 96 3 0
3. Lsof – Lista otvorenih datoteka
lsof komanda se koristi u mnogim sistemima nalik na Linux/Unix za prikaz liste svih otvorenih datoteka i procesa. Uključene otvorene datoteke su datoteke na disku, mrežne utičnice, cijevi, uređaji i procesi jako>.
Jedan od glavnih razloga za korištenje ove naredbe je kada se disk ne može isključiti i prikazuje grešku da se datoteke koriste ili otvaraju. Pomoću ove naredbe možete lako identificirati koje datoteke se koriste.
Najčešći format za naredbu lsof je.
lsof
COMMAND PID TID TASKCMD USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root cwd DIR 8,2 224 128 /
systemd 1 root rtd DIR 8,2 224 128 /
systemd 1 root txt REG 8,2 1567768 134930842 /usr/lib/systemd/systemd
systemd 1 root mem REG 8,2 2714928 134261052 /usr/lib64/libm-2.28.so
systemd 1 root mem REG 8,2 628592 134910905 /usr/lib64/libudev.so.1.6.11
systemd 1 root mem REG 8,2 969832 134261204 /usr/lib64/libsepol.so.1
systemd 1 root mem REG 8,2 1805368 134275205 /usr/lib64/libunistring.so.2.1.0
systemd 1 root mem REG 8,2 355456 134275293 /usr/lib64/libpcap.so.1.9.0
systemd 1 root mem REG 8,2 145984 134261219 /usr/lib64/libgpg-error.so.0.24.2
systemd 1 root mem REG 8,2 71528 134270542 /usr/lib64/libjson-c.so.4.0.0
systemd 1 root mem REG 8,2 371736 134910992 /usr/lib64/libdevmapper.so.1.02
systemd 1 root mem REG 8,2 26704 134275177 /usr/lib64/libattr.so.1.1.2448
systemd 1 root mem REG 8,2 3058736 134919279 /usr/lib64/libcrypto.so.1.1.1c
...
4. Tcpdump – Analizator mrežnih paketa
Naredba tcpdump je jedan od najčešće korištenih programa analizator mrežnih paketa ili sniffer paketa koji se koristi za hvatanje ili filtriranje naredbenog retka >TCP/IP paketi koji se primaju ili prenose na određenom interfejsu preko mreže.
Također pruža opciju za spremanje snimljenih paketa u datoteku za kasniju analizu. tcpdump je gotovo dostupan u svim glavnim distribucijama Linuxa.
tcpdump -i enp0s3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 262144 bytes
10:19:34.635893 IP tecmint.ssh > 192.168.0.124.45611: Flags [P.], seq 2840044824:2840045032, ack 4007244093
10:19:34.636289 IP 192.168.0.124.45611 > tecmint.ssh: Flags [.], ack 208, win 11768, options
10:19:34.873060 IP _gateway.57682 > tecmint.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:34.873104 IP tecmint > _gateway: ICMP tecmint udp port netbios-ns unreachable, length 86
10:19:34.895453 IP _gateway.48953 > tecmint.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:34.895501 IP tecmint > _gateway: ICMP tecmint udp port netbios-ns unreachable, length 86
10:19:34.992693 IP 142.250.4.189.https > 192.168.0.124.38874: UDP, length 45
10:19:35.010127 IP 192.168.0.124.38874 > 142.250.4.189.https: UDP, length 33
10:19:35.135578 IP _gateway.39383 > 192.168.0.124.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:35.135586 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp port netbios-ns unreachable, length 86
10:19:35.155827 IP _gateway.57429 > 192.168.0.124.netbios-ns: NBT UDP PACKET(137): QUERY; REQUEST; UNICAST
10:19:35.155835 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp port netbios-ns unreachable, length 86
...
5. Netstat – Mrežna statistika
netstat je alat komandne linije za praćenje statistike dolaznih i odlaznih mrežnih paketa, kao i statistike interfejsa. To je vrlo koristan alat za svakog administratora sistema za praćenje performansi mreže i rješavanje problema povezanih s mrežom.
netstat -a | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN
tcp 0 0 tecmint:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:postgres 0.0.0.0:* LISTEN
tcp 0 0 tecmint:ssh 192.168.0.124:45611 ESTABLISHED
tcp6 0 0 [::]:sunrpc [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:postgres [::]:* LISTEN
udp 0 0 0.0.0.0:mdns 0.0.0.0:*
udp 0 0 localhost:323 0.0.0.0:*
udp 0 0 tecmint:domain 0.0.0.0:*
udp 0 0 0.0.0.0:bootps 0.0.0.0:*
udp 0 0 tecmint:bootpc _gateway:bootps ESTABLISHED
...
Iako je u današnjem vremenu netstat zastario u korist naredbe ss, još uvijek možete otkriti netstat u svom kompletu alata za umrežavanje.
6. Htop – Nadgledanje procesa u Linuxu
htop je mnogo napredan interaktivni alat za praćenje procesa u Linuxu u realnom vremenu, koji je mnogo sličan Linux top komandi, ali ima neke bogate funkcije kao što je korisnički- prijateljski interfejs za upravljanje procesima, prečice, vertikalni i horizontalni prikazi procesa, i još mnogo toga.
htop
htop je alat treće strane, koji ne dolazi s Linux sistemima, morate ga instalirati pomoću alata za upravljanje paketima vašeg sistema.
Za više informacija o htop instalaciji pročitajte naš članak – Instalirajte Htop (Linux Process Monitoring) u Linuxu.
7. Iotop – Monitor Linux Disk I/O
iotop je također mnogo sličan top komandi i htop programu, ali ima računovodstvenu funkciju za praćenje i prikaz u realnom vremenu Disk I/O i procesi.
iotop alat je veoma koristan za pronalaženje tačnog procesa i veoma korišćenog diska za čitanje/upisivanje procesa.
Instalirajte Iotop na Linux
Podrazumevano, naredba iotop nije dostupna pod Linuxom i morate je instalirati kao što je prikazano.
sudo yum install iotop [On Older CentOS/RHEL & Fedora]
sudo dnf install iotop [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
sudo apt-get install iotop [On Debian/Ubuntu & Mint]
sudo pacman -S iotop [On Arch Linux]
Uobičajena upotreba formata naredbe iotop je.
iotop
8. Iostat – Statistika ulaza/izlaza
iostat je jednostavan alat koji će prikupljati i prikazati sistemske ulazne i izlazne statistike uređaja za pohranu. Ovaj alat se često koristi za praćenje problema s performansama uređaja za pohranu uključujući uređaje, lokalne diskove i udaljene diskove kao što je NFS >.
Instalirajte Iostat na Linux
Da biste dobili naredbu iostat, morate instalirati paket pod nazivom sysstat kao što je prikazano.
sudo yum install sysstat [On Older CentOS/RHEL & Fedora]
sudo dnf install sysstat [On CentOS/RHEL/Fedora/Rocky Linux & AlmaLinux]
sudo apt-get install sysstat [On Debian/Ubuntu & Mint]
sudo pacman -S sysstat [On Arch Linux]
Uobičajena upotreba formata naredbe iostat je.
iostat
Linux 4.18.0-193.el8.x86_64 (tecmint) 04/05/2021 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.21 0.03 0.59 2.50 0.00 96.67
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 3.95 83.35 89.63 1782431 1916653
9. IPTraf – IP LAN nadzor u realnom vremenu
IPTraf je uslužni program za nadgledanje mreže u realnom vremenu (IP LAN) otvorenog koda baziran na konzoli za Linux. Prikuplja razne informacije kao što je monitor IP saobraćaja koji prolazi preko mreže, uključujući informacije o TCP zastavici, ICMP detalje, kvarove TCP/UDP saobraćaja, pakete TCP veze i broj bajtova.
Takođe prikuplja informacije o opštoj i detaljnoj statistici interfejsa za TCP, UDP, IP, ICMP, non-IP, greške IP kontrolne sume, aktivnosti interfejsa itd.
10. Psacct ili Acct – Nadgledanje aktivnosti korisnika
Alati psacct ili acct su veoma korisni za praćenje aktivnosti svakog korisnika na sistemu. Oba demona rade u pozadini i pažljivo prate ukupnu aktivnost svakog korisnika na sistemu, kao i resurse koje oni troše.
Ovi alati su veoma korisni za sistemske administratore da prate aktivnosti svakog korisnika kao što su šta radi, koje su komande izdali, koliko resursa koriste, koliko dugo su aktivni na sistemu itd.
11. Monit – Nadgledanje procesa i usluga u Linuxu
Monit je besplatni open-source i web-bazirani uslužni program za nadzor procesa koji automatski nadgleda i upravlja sistemskim procesima, programima, datotekama, direktorijima, dozvolama, kontrolnim zbrojima i sistemima datoteka.
Nadzire usluge kao što su Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH, itd. Status sistema se može vidjeti iz komandne linije ili korištenjem vlastitog web sučelja.
Za instalaciju i konfiguraciju, pročitajte naš članak – Kako instalirati i podesiti program Monit (nadgledanje procesa i usluga u Linuxu).
12. NetHogs – Nadgledanje propusnosti mreže po procesu
NetHogs je lijep mali program otvorenog koda (slično Linux top komandi) koji vodi računa o svakoj mrežnoj aktivnosti procesa na vašem sistemu. Takođe prati propusni opseg mrežnog saobraćaja u realnom vremenu koji koristi svaki program ili aplikacija.
nethogs
Za instalaciju i upotrebu, pročitajte naš članak: Nadgledanje propusnosti Linux mreže koristeći NetHogs
13. iftop – Nadgledanje propusnosti mreže
iftop je još jedan besplatni uslužni program otvorenog koda za nadgledanje sistema baziran na terminalu koji prikazuje često ažuriranu listu korištenja mrežnog propusnog opsega (izvorni i odredišni hostovi) koji prolazi kroz mrežni interfejs na vašem sistemu.
iftop je analogan 'top' u kontekstu korištenja mreže, slično tome kako 'top' pruža uvid u korištenje CPU-a.
iftop pripada cijenjenoj 'top' porodici alata za praćenje mreže. Posebno dizajniran za posmatranje mrežnog interfejsa koji je izabrao korisnik, on u realnom vremenu prikazuje podatke o trenutnoj upotrebi propusnog opsega između dva navedena hosta.
iftop
Za instalaciju i upotrebu pročitajte naš članak: iftop – Nadgledanje iskorištenosti mrežnog pojasa
14. Monitorix – Monitoring sistema i mreže
Monitorix je besplatni lagani uslužni program koji je dizajniran za pokretanje i praćenje sistemskih i mrežnih resursa što je više moguće na Linux/Unix serverima.
Ima ugrađen HTTP web server koji redovno prikuplja informacije o sistemu i mreži i prikazuje ih u grafikonima. Nadzire prosjek opterećenja sistema i korištenje, alokaciju memorije, zdravlje drajvera diska, sistemske usluge, mrežu portovi, statistika pošte (Sendmail, Postfix, Dovecot, itd.), MySQL statistika,i još mnogo toga.
Dizajniran je da prati ukupne performanse sistema i pomaže u otkrivanju kvarova, uskih grla, abnormalnih aktivnosti itd.
Za instalaciju i upotrebu pročitajte naš članak: Monitorix alat za nadzor sistema i mreže za Linux
15. Arpwatch – Monitor aktivnosti Etherneta
Arpwatch je vrsta programa koji je dizajniran za praćenje rezolucije adrese (MAC i IP promjene adrese) Etherneta mrežni promet na Linux mreži.
Neprekidno prati Ethernet promet i proizvodi dnevnik promjena para IP i MAC adresa zajedno sa vremenskom oznakom na mreži. Takođe ima funkciju za slanje e-mail upozorenja administratorima, kada se uparivanje doda ili promeni. Veoma je koristan u otkrivanju ARP lažiranja na mreži.
Za instalaciju i upotrebu pročitajte naš članak: Arpwatch za praćenje Ethernet aktivnosti
16. Suricata – Monitoring mrežne sigurnosti
Suricata je mrežna sigurnost i detekcija upada i sistem za nadzor prevencije otvorenog koda visokih performansi za Linux, FreeBSD, i Windows.
Dizajnirana je i u vlasništvu neprofitne fondacije OISF (Open Information Security Foundation).
Za instalaciju i upotrebu pročitajte naš članak: Suricata – Sistem za otkrivanje i prevenciju upada u mrežu
17. VnStat PHP – Nadgledanje propusnosti mreže
VnStat PHP je web-bazirana frontend aplikacija za najpopularniji mrežni alat pod nazivom „vnstat“. VnStat PHP prati korištenje mrežnog saobraćaja u lijepom grafičkom načinu.
Prikazuje ukupnu IN i OUT upotrebu mrežnog saobraćaja u satnim, dnevnim, mjesečnim, jaki> i potpuni sažeti izvještaji.
Za instalaciju i upotrebu pročitajte naš članak: Nadgledanje korištenja mrežnog pojasa
18. Nagios – Monitoring mreže/servera
Nagios je vodeći moćni sistem za praćenje otvorenog koda koji omogućava administratorima mreže/sistema da identifikuju i riješe probleme vezane za server prije nego što utiču na glavne poslovne procese.
Sa Nagios sistemom, administratori mogu da nadgledaju udaljeni Linux, Windows, prekidače, rutere i štampače u jednom prozoru. Prikazuje kritična upozorenja i ukazuje da li je nešto pošlo po zlu u vašoj mreži/serveru što vam indirektno pomaže da započnete procese sanacije prije nego što se oni dese.
Za instalaciju, konfiguraciju i upotrebu pročitajte naš članak – Instalirajte Nagios Monitoring System za nadgledanje udaljenih Linux/Windows hostova
19. Nmon: Nadgledanje performansi Linuxa
Nmon (skraćenica od Nigel's Performance Monitor) alat, koji se koristi za praćenje svih Linux resursa kao što su CPU, memorija, korištenje diska, mreža, vrhunski procesi, NFS, kernel i još mnogo toga. Ovaj alat dolazi u dva načina: Online Mode i Capture Mode.
Online način rada se koristi za praćenje u realnom vremenu, a način snimanja se koristi za pohranjivanje izlaza u CSV formatu za kasniju obradu.
Za instalaciju i upotrebu pročitajte naš članak: Instalirajte Nmon (Performance Monitoring) alat u Linux
20. Collectl: All-in-One Alat za praćenje performansi
Collectl je još jedan moćan i bogat uslužni program baziran na komandnoj liniji, koji se može koristiti za prikupljanje informacija o Linux sistemskim resursima kao što su korištenje CPU-a, memorije, mreže, inode, procesa, nfs, TCP , utičnice i još mnogo toga.
Za instalaciju i upotrebu pročitajte naš članak: Instalirajte Collectl (sve-u-jednom za praćenje performansi) alat u Linuxu
Željeli bismo znati koje vrste programa za praćenje koristite za praćenje performansi vaših Linux servera. Ako smo propustili neki važan alat koji biste željeli da uvrstimo na ovu listu, obavijestite nas putem komentara i ne zaboravite ga podijeliti.