20 orodij ukazne vrstice za spremljanje delovanja Linuxa


Za vsakega skrbnika sistema ali omrežja je resnično težko vsak dan spremljati in odpravljati težave z zmogljivostjo sistema Linux. Ko sem bil pet let skrbnik Linuxa v IT industriji, sem spoznal, kako težko je spremljati in vzdrževati sisteme. Zaradi tega smo sestavili seznam 20 najpogosteje uporabljenih orodij za nadzor ukazne vrstice, ki so lahko koristna za vsakega sistemskega skrbnika sistema Linux/Unix. Ti ukazi so na voljo za vse okuse Linuxa in so lahko koristni za spremljanje in iskanje dejanskih vzrokov težav z zmogljivostjo. Ta seznam tukaj prikazanih ukazov je dovolj, da izberete tistega, ki je primeren za vaš scenarij spremljanja.

Ukaz Linux Top je program za spremljanje zmogljivosti, ki ga mnogi sistemski skrbniki pogosto uporabljajo za spremljanje delovanja Linuxa in je na voljo v številnih operacijskih sistemih, kot so Linux/Unix. Zgornji ukaz, ki se uporablja za prikaz vseh tekočih in aktivnih procesov v realnem času na urejenem seznamu, in ga redno posodablja. Prikaže porabo procesorja, porabo pomnilnika, zamenjavo pomnilnika, velikost predpomnilnika, velikost medpomnilnika, proces PID, uporabnika, ukaze in še veliko več. Prikazuje tudi veliko izkoriščenost pomnilnika in procesorja tekočih procesov. Zgornji ukaz je za uporabnika sistema uporaben za nadzor in po potrebi pravilno ukrepanje. Poglejmo, kako deluje zgornji ukaz.

# top

Primer zgornjega ukaza

Za več primerov ukaza Top preberite: 12 primerov TOP ukazov v Linuxu

Ukaz Linux VmStat, ki se uporablja za prikaz statistike navideznega pomnilnika, kernerl niti, diskov, sistemskih procesov, I/O blokov, prekinitev, aktivnosti CPU in še veliko več. Ukaz vmstat privzeto ni na voljo v sistemih Linux, morate namestiti paket, imenovan sysstat, ki vključuje program vmstat. Pogosta oblika zapisa ukazov je.

# vmstat

procs -----------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

Za več primerov Vmstat preberite: 6 primerov ukazov Vmstat v Linuxu

Ukaz Lsof, ki se uporablja v mnogih sistemih, podobnih Linuxu/Unixu, ki se uporablja za prikaz seznama vseh odprtih datotek in procesov. Vključene odprte datoteke so diskovne datoteke, omrežne vtičnice, cevi, naprave in procesi. Eden glavnih razlogov za uporabo tega ukaza je, da diska ni mogoče demontirati in prikaže napako, da se datoteke uporabljajo ali odpirajo. S tem ukazom lahko zlahka prepoznate, katere datoteke so v uporabi. Najpogostejša oblika tega ukaza je.

# lsof

COMMAND     PID      USER   FD      TYPE     DEVICE     SIZE       NODE NAME
init          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/init
init          1      root  mem       REG      104,2   129900     196453 /lib/ld-2.5.so
init          1      root  mem       REG      104,2  1693812     196454 /lib/libc-2.5.so
init          1      root  mem       REG      104,2    20668     196479 /lib/libdl-2.5.so
init          1      root  mem       REG      104,2   245376     196419 /lib/libsepol.so.1
init          1      root  mem       REG      104,2    93508     196431 /lib/libselinux.so.1
init          1      root   10u     FIFO       0,17                 953 /dev/initctl

Več uporabe ukazov lsof in primeri: 10 primerov ukazov lsof v Linuxu

Tcpdump eden najpogosteje uporabljanih analizatorjev omrežnih paketov ukazne vrstice ali program za vdihavanje paketov, ki se uporablja za zajemanje ali filtriranje paketov TCP/IP, ki so bili sprejeti ali preneseni v določenem vmesniku prek omrežja. Ponuja tudi možnost shranjevanja zajetih paketov v datoteko za kasnejšo analizo. tcpdump je skoraj na voljo v vseh glavnih distribucijah Linuxa.

# tcpdump -i eth0

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
22:08:59.617628 IP linux-console.net.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648
22:09:07.653466 IP linux-console.net.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648
22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > linux-console.net.ssh: . ack 116 win 64347

Za več uporabe tcpdump preberite: 12 primerov ukazov Tcpdump v Linuxu

Netstat je orodje ukazne vrstice za spremljanje statistike dohodnih in odhodnih omrežnih paketov ter statistike vmesnikov. Zelo koristno orodje za vsakega sistemskega skrbnika je spremljanje delovanja omrežja in odpravljanje težav, povezanih z omrežjem.

# netstat -a | more

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 *:mysql                     *:*                         LISTEN
tcp        0      0 *:sunrpc                    *:*                         LISTEN
tcp        0      0 *:realm-rusd                *:*                         LISTEN
tcp        0      0 *:ftp                       *:*                         LISTEN
tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN
tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN
tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42709 TIME_WAIT
tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42710 TIME_WAIT
tcp        0      0 *:http                      *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
tcp        0      0 *:https                     *:*                         LISTEN

Več primerov Netstat: 20 primerov ukazov Netstat v Linuxu.

Htop je zelo napredno interaktivno orodje za nadzor procesov v realnem času. To je podobno kot zgornji ukaz Linuxa, vendar ima nekaj bogatih funkcij, kot so uporabniku prijazen vmesnik za upravljanje procesa, bližnjične tipke, navpični in vodoravni pogled na procese in še veliko več. Htop je orodje tretje osebe in ni vključeno v sisteme Linux, namestiti ga morate z orodjem YUM manager manager. Za več informacij o namestitvi preberite spodnji članek.

# htop

Primer zaslona ukaza Htop

Za namestitev Htop preberite: Namestite Htop (Linux Process Monitoring) v Linux

Iotop je prav tako zelo podoben zgornjemu ukazu in programu Htop, vendar ima računovodsko funkcijo za spremljanje in prikaz v realnem času diskovnih V/I in procesov. To orodje je zelo koristno za iskanje natančnega procesa in pogosto uporabljenega branja/zapisovanja procesov z diska.

# iotop

Posnetek zaslona ukaza Iotop

Za namestitev in uporabo Ioptopa preberite: Namestite Iotop v Linux

IoStat je preprosto orodje, ki zbira in prikazuje statistiko sistemskih vhodnih in izhodnih pomnilniških naprav. To orodje se pogosto uporablja za sledenje težavam z zmogljivostjo shranjevalnih naprav, vključno z napravami, lokalnimi diski in oddaljenimi diski, kot je NFS.

# iostat

Linux 2.6.18-238.9.1.el5 (linux-console.net)         09/13/2012

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.60    3.65    1.04    4.29    0.00   88.42

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
cciss/c0d0       17.79       545.80       256.52  855159769  401914750
cciss/c0d0p1      0.00         0.00         0.00       5459       3518
cciss/c0d0p2     16.45       533.97       245.18  836631746  384153384
cciss/c0d0p3      0.63         5.58         3.97    8737650    6215544
cciss/c0d0p4      0.00         0.00         0.00          8          0
cciss/c0d0p5      0.63         3.79         5.03    5936778    7882528
cciss/c0d0p6      0.08         2.46         2.34    3847771    3659776

Za več uporabe in primerov Iostata obiščite: 6 Primeri ukazov Iostat v Linuxu

IPTraf je odprtokodni pripomoček za nadzor omrežja v realnem času (IP LAN) za Linux. Zbira različne informacije, kot je nadzor IP prometa, ki prehaja po omrežju, vključno z informacijami o zastavi TCP, podrobnostmi ICMP, razčlenitvami prometa TCP/UDP, paketom povezav TCP in številom bajnov. Prav tako zbira informacije o splošni in podrobni statistiki vmesnikov TCP, UDP, IP, ICMP, ne-IP, napake v kontrolni vsoti IP, vmesniške dejavnosti itd.

Za več informacij in uporabo orodja IPTraf obiščite: IPTraf Network Monitoring Tool

Orodja psacct ali acct so zelo koristna za spremljanje vsake dejavnosti uporabnika v sistemu. Oba demona delujeta v ozadju in pozorno spremljata splošno aktivnost vsakega uporabnika v sistemu in tudi, katere vire porabljata.

Ta orodja so zelo koristna za sistemske skrbnike, da lahko spremljajo vsako dejavnost uporabnika, na primer, kaj počnejo, katere ukaze so izdali, koliko virov uporabljajo, koliko časa so aktivni v sistemu itd.

Za namestitev in primer uporabe ukazov preberite članek o Monitor User Activity with psacct ali acct

Monit je brezplačna odprtokodna in spletna pripomoček za nadzor procesov, ki samodejno nadzira in upravlja sistemske procese, programe, datoteke, imenike, dovoljenja, kontrolne vsote in datotečne sisteme.

Spremlja storitve, kot so Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH itd. Stanje sistema si lahko ogledate iz ukazne vrstice ali z uporabo lastnega spletnega vmesnika.

Preberite več: Nadzor procesa Linux z Monitom

NetHogs je lepo odprt koden majhen program (podoben zgornjemu ukazu Linuxa), ki vodi zavihek za vsako omrežno aktivnost procesa v vašem sistemu. Prav tako vodi evidenco pasovne širine omrežnega prometa v realnem času, ki jo uporablja vsak program ali aplikacija.

Preberite več: Nadzirajte pasovno širino omrežja Linux s pomočjo NetHogs

iftop je še en brezplačen pripomoček za nadzor odprtokodnega sistema, ki temelji na terminalu in prikazuje pogosto posodobljen seznam izkoriščenosti pasovne širine omrežja (izvorni in ciljni gostitelji), ki gre skozi omrežni vmesnik v vašem sistemu. iftop velja za uporabo omrežja, kaj "top" naredi za uporabo CPU-ja. iftop je družinsko orodje „top“, ki nadzira izbrani vmesnik in prikazuje trenutno uporabo pasovne širine med dvema gostiteljema.

Preberite več: iftop - Nadzirajte uporabo pasovne širine omrežja

Monitorix je brezplačen lahek pripomoček, ki je zasnovan za izvajanje in nadzor sistemskih in omrežnih virov v čim večjem številu v strežnikih Linux/Unix. Vgrajen ima spletni strežnik HTTP, ki redno zbira sistemske in omrežne informacije ter jih prikazuje v grafih. Nadzira povprečno obremenitev in uporabo sistema, dodeljevanje pomnilnika, zdravje gonilnika diska, sistemske storitve, omrežna vrata, statistiko pošte (Sendmail, Postfix, Dovecot itd.), MySQL statistiko in še veliko več. Zasnovan je za spremljanje splošne učinkovitosti sistema in pomaga pri odkrivanju napak, ozkih grl, nenormalnih dejavnosti itd.

Preberite več: Monitorix orodje za nadzor sistema in omrežja za Linux

Arpwatch je nekakšen program, ki je zasnovan za spremljanje ločljivosti naslovov (spremembe MAC in IP naslova) omrežnega prometa Ethernet v omrežju Linux. Nenehno nadzoruje promet Ethernet in ustvarja dnevnik sprememb parov naslovov IP in MAC skupaj s časovnimi žigi v omrežju. Ima tudi funkcijo za pošiljanje opozoril po e-pošti skrbniku, kadar se dodajanje spremeni ali spremeni. Zelo je koristen pri odkrivanju prevara ARP v omrežju.

Preberite več: Arpwatch za spremljanje dejavnosti Ethernet

Suricata je visoko zmogljiv odprtokodni sistem za nadzor varnosti in odkrivanja vdorov ter preprečevanje vdorov za Linux, FreeBSD in Windows, zasnovan in v lasti neprofitne fundacije OISF (Open Information Security Foundation).

Preberite več: Suricata - omrežni sistem za odkrivanje in preprečevanje vdorov

VnStat PHP spletna vmesniška aplikacija za najbolj priljubljeno omrežno orodje, imenovano "vnstat". VnStat PHP v lepo grafičnem načinu spremlja uporabo omrežnega prometa. Prikazuje skupno porabo omrežnega prometa IN IN OUT v urnem, dnevnem, mesečnem in celotnem zbirnem poročilu.

Preberite več: VnStat PHP - Nadzor pasovne širine omrežja

Nagios je vodilni odprtokodni zmogljiv nadzorni sistem, ki omrežnim/sistemskim skrbnikom omogoča prepoznavanje in reševanje težav, povezanih s strežniki, preden vplivajo na večje poslovne procese. S sistemom Nagios lahko skrbniki v enem oknu spremljajo oddaljeni Linux, Windows, stikala, usmerjevalnike in tiskalnike. Prikazuje kritična opozorila in prikazuje, če se je v vašem omrežju/strežniku kaj narobe zgodilo, kar vam posredno pomaga, da začnete popravljalne postopke, preden se ti pojavijo.

Preberite več: Namestite Nagios Monitoring System za nadzor oddaljenih gostiteljev Linux/Windows

19. Nmon: Nadzirajte delovanje Linuxa

Nmon (pomeni Nigelov nadzornik zmogljivosti), ki se uporablja za spremljanje vseh virov Linuxa, kot so CPU, pomnilnik, uporaba diska, omrežje, najboljši procesi, NFS, jedro in še veliko več. To orodje je na voljo v dveh načinih: spletni način in način zajemanja.

Spletni način se uporablja za nadzor v realnem času, način zajema pa se uporablja za shranjevanje izhodnih podatkov v obliki CSV za kasnejšo obdelavo.

Preberite več: Namestite orodje Nmon (Monitoring Monitoring) v Linux

20. Collectl: večnamensko orodje za spremljanje učinkovitosti

Collectl je še ena zmogljiva in s svojimi funkcijami bogata pripomoček, ki temelji na ukazni vrstici in se lahko uporablja za zbiranje informacij o sistemskih virih Linuxa, kot so uporaba procesorja, pomnilnik, omrežje, inode, procesi, nfs, tcp, vtičnice in še veliko več.

Preberite več: Namestite orodje Collectl (All-in-One Performance Monitoring) v Linux

Radi bi vedeli, s kakšnimi programi za spremljanje uporabljate nadzor svojih strežnikov Linux? Če smo zamudili katero koli pomembno orodje, ki bi ga radi vključili na ta seznam, nas obvestite s komentarji in ga ne pozabite deliti.

Preberite tudi : 13 orodij za spremljanje delovanja Linuxa - 2. del