20 pakollista komentorivityökalua Linuxin suorituskyvyn seurantaan


Järjestelmä- tai verkonvalvojana oleminen, jonka tehtävänä on seurata ja korjata Linux-järjestelmän suorituskykyongelmia päivittäin, on äärimmäisen haastava vastuu.

Se vaatii horjumatonta omistautumista, syvällistä Linux-järjestelmien ymmärtämistä ja jatkuvaa sitoutumista optimaalisen suorituskyvyn ja luotettavuuden varmistamiseen.

Omistattuani vuosikymmenen Linux-järjestelmänvalvojana IT-alalla, olen oppinut todella arvostamaan järjestelmien jatkuvan toiminnan valvonnan ja varmistamisen raskasta tehtävää.

Tämän valossa olemme kuratoineet kattavan luettelon 20 eniten käytetystä komentorivivalvontatyökalusta. Nämä korvaamattomat työkalut voivat osoittautua välttämättömiksi jokaiselle Linux/Unix-järjestelmänvalvojalle, mikä antaa heille mahdollisuuden valvoa, diagnosoida ja ylläpitää tehokkaasti järjestelmiensä kuntoa ja suorituskykyä.

Nämä valvontatyökalut ovat saatavilla kaikissa Linuxin malleissa, ja niistä voi olla hyötyä suorituskykyongelmien todellisten syiden seurannassa ja löytämisessä. Tämä tässä esitetty komentoluettelo on riittävä, jotta voit valita valvontaskenaarioosi sopivan.

1. Ylös – Linux-prosessin valvonta

Linuxin top-komento on suorituskyvyn seurantaohjelma, jota monet järjestelmänvalvojat käyttävät usein valvomaan Linuxin suorituskykyä. Se on saatavilla useissa Linux/Unix-tyyppisissä käyttöjärjestelmissä.

Top-komentoa käytetään näyttämään kaikki käynnissä olevat ja aktiiviset reaaliaikaiset prosessit järjestetyssä luettelossa ja päivittää sitä säännöllisesti. Se näyttää suorittimen käytön, muistin käytön, vaihtomuistin, välimuistin koon, puskurin koon. >, Prosessin PID, Käyttäjä, Komennot ja paljon muuta.

Se osoittaa myös käynnissä olevien prosessien korkean muistin ja suorittimen käytön. Top-komento on erittäin hyödyllinen järjestelmänvalvojille, jotta he voivat valvoa ja ryhtyä korjaaviin toimiin tarvittaessa. Katsotaanpa ylin komento toiminnassa.

top

2. VmStat – Virtuaalimuistin tilastot

Linuxin VmStat-komentoa käytetään näyttämään tilastot virtuaalimuistista, ydinsäikeistä, levyistä ja järjestelmäprosesseista. , I/O-estot, keskeytykset, CPU-toiminta ja paljon muuta.

Asenna VmStat Linuxiin

Oletuksena vmstat-komento ei ole käytettävissä Linux-järjestelmissä, sinun on asennettava paketti nimeltä sysstat (tehokas valvontatyökalu), joka sisältää vmstat-ohjelman.

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]

Vmstat-komentomuodon yleinen käyttö on.

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 – Listaa avoimet tiedostot

lsof-komentoa käytetään monissa Linux/Unix-kaltaisissa järjestelmissä näyttämään luettelo kaikista avoimista tiedostoista ja prosesseista. Mukana olevia avoimia tiedostoja ovat levytiedostot, verkkoliitännät, putket, laitteet ja prosessit. vahva>.

Yksi tärkeimmistä syistä tämän komennon käyttämiseen on se, että levyä ei voi irrottaa ja näyttää virheilmoituksen, että tiedostoja käytetään tai avataan. Tällä komennolla voit helposti tunnistaa käytössä olevat tiedostot.

lsof-komennon yleisin muoto on.

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 – Verkkopakettien analysointi

tcpdump-komento on yksi yleisimmin käytetyistä komentorivin verkkopakettianalyysi- tai pakettien haistaja-ohjelmista, joita käytetään sieppaamaan tai suodattamaan >TCP/IP-paketit, jotka vastaanotetaan tai siirretään tietyllä rajapinnalla verkon yli.

Se tarjoaa myös mahdollisuuden tallentaa kaapatut paketit tiedostoon myöhempää analysointia varten. tcpdump on melkein saatavilla kaikissa suurimmissa Linux-jakeluissa.

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 – Verkkotilastot

netstat on komentorivityökalu saapuvien ja lähtevien verkkojen pakettitilastojen sekä käyttöliittymätilastojen seurantaan. Se on erittäin hyödyllinen työkalu jokaiselle järjestelmänvalvojalle verkon suorituskyvyn valvontaan ja verkkoon liittyvien ongelmien vianmääritykseen.

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

Vaikka nykypäivän netstat on vanhentunut ss-komennon hyväksi, saatat silti löytää netstat verkkotyökalupakkistasi.

6. Htop – Linux-prosessin valvonta

htop on paljon edistynyt interaktiivinen ja reaaliaikainen Linux-prosessien seurantatyökalu, joka muistuttaa paljon Linuxin top-komentoa, mutta siinä on joitain monipuolisia ominaisuuksia, kuten käyttäjä- ystävällinen käyttöliittymä prosessien hallintaan, pikanäppäimet, prosessien pysty- ja vaakanäkymät ja paljon muuta.

htop

htop on kolmannen osapuolen työkalu, jota ei tule Linux-järjestelmien mukana, vaan se on asennettava järjestelmäpaketinhallintatyökalulla.

Lisätietoja htop-asennuksesta on artikkelissamme - Asenna Htop (Linux Process Monitoring) Linuxiin.

7. Iotop – Monitor Linux Disk I/O

iotop on myös paljon samanlainen kuin top-komento ja htop-ohjelma, mutta siinä on kirjanpitotoiminto, jolla voidaan seurata ja näyttää reaaliaikaista Levyn I/O ja prosessit.

iotop-työkalu on erittäin hyödyllinen prosessien tarkan prosessin ja paljon käytetyn levyn luku-/kirjoitustoimintojen löytämiseen.

Asenna Iotop Linuxiin

Oletuksena iotop-komento ei ole käytettävissä Linuxissa, ja se on asennettava kuvan osoittamalla tavalla.

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]

Iotop-komentomuodon yleinen käyttö on.

iotop

8. Iostat – Input/Output Statistics

iostat on yksinkertainen työkalu, joka kerää ja näyttää järjestelmän syöttö ja tulostus -tallennuslaitteen tilastot. Tätä työkalua käytetään usein jäljittämään tallennuslaitteiden suorituskykyongelmia, mukaan lukien laitteet, paikalliset levyt ja etälevyt, kuten NFS. >.

Asenna Iostat Linuxiin

Saadaksesi iostat-komennon, sinun on asennettava paketti nimeltä sysstat kuvan mukaisesti.

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]

Iostat-komentomuodon yleinen käyttö on.

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 – Reaaliaikainen IP-LAN-valvonta

IPTraf on avoimen lähdekoodin konsolipohjainen reaaliaikaisen verkon (IP LAN) seuranta-apuohjelma Linuxille. Se kerää erilaisia tietoja, kuten verkon yli kulkevan IP-liikenteen monitorin, mukaan lukien TCP-lipputiedot, ICMP-tiedot, TCP/UDP-liikenteen erittelyt, TCP-yhteyspaketit ja tavumäärät.

Se kerää myös tietoja yleisistä ja yksityiskohtaisista TCP-, UDP-, IP-, ICMP-, ei-IP-, IP-tarkistussummavirheistä, käyttöliittymän toiminnoista jne.

10. Psacct tai Acct – Tarkkaile käyttäjän toimintaa

psacct- tai acct-työkalut ovat erittäin hyödyllisiä kunkin käyttäjän toiminnan seurantaan järjestelmässä. Molemmat demonit toimivat taustalla ja seuraavat tarkasti kunkin käyttäjän yleistä toimintaa järjestelmässä ja myös sitä, mitä resursseja he kuluttavat.

Nämä työkalut ovat erittäin hyödyllisiä järjestelmänvalvojille, jotta he voivat seurata kunkin käyttäjän toimintaa, kuten mitä he tekevät, mitä komentoja he ovat antaneet, kuinka monta resurssia he käyttävät, kuinka kauan he ovat aktiivisia järjestelmässä jne.

11. Monit – Linuxin prosessien ja palveluiden valvonta

Monit on ilmainen avoimen lähdekoodin verkkopohjainen prosessinvalvontaapuohjelma, joka valvoo ja hallitsee automaattisesti järjestelmäprosesseja, ohjelmia, tiedostoja, hakemistoja, käyttöoikeuksia, tarkistussummia ja tiedostojärjestelmiä.

Se valvoo palveluita, kuten Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH ja niin edelleen. Järjestelmän tilaa voi tarkastella komentoriviltä tai käyttämällä sen omaa verkkokäyttöliittymää.

Lue asennuksesta ja määrityksestä artikkelimme - Kuinka asentaa ja määrittää Monit (Linux Process and Services Monitoring) -ohjelma.

12. NetHogs – Valvo prosessikohtaista verkon kaistanleveyttä

NetHogs on avoimen lähdekoodin mukava pieni ohjelma (samanlainen kuin Linuxin top-komento), joka seuraa jokaista prosessiverkkotoimintaa järjestelmässäsi. Se myös seuraa kunkin ohjelman tai sovelluksen käyttämää reaaliaikaista verkkoliikenteen kaistanleveyttä.

nethogs

Lue asennuksesta ja käytöstä artikkelimme: Linux-verkon kaistanleveyden valvonta NetHogsin avulla

13. iftop – verkon kaistanleveyden valvonta

iftop on toinen päätepohjainen ilmainen avoimen lähdekoodin järjestelmän valvontaapuohjelma, joka näyttää usein päivitettävän luettelon verkon kaistanleveyden käytöstä (lähde- ja kohdeisännät), jotka kulkevat järjestelmäsi verkkoliitännän kautta.

iftop on analoginen sanalle top verkon käytön yhteydessä, samoin kuin se, kuinka top antaa tietoja suorittimen käytöstä.

iftop kuuluu arvostettuun verkonvalvontatyökalujen "huippuperheeseen". Erityisesti suunniteltu tarkkailemaan käyttäjän valitsemaa verkkoliitäntää, se tuottaa reaaliaikaista tietoa nykyisestä kaistanleveyden käytöstä kahden määritetyn isännän välillä.

iftop

Lue asennuksesta ja käytöstä artikkelimme: iftop – Monitor Network Bandwidth Utilisation

14. Monitorix – Järjestelmän ja verkon valvonta

Monitorix on ilmainen kevyt apuohjelma, joka on suunniteltu ajamaan ja valvomaan mahdollisimman monia järjestelmä- ja verkkoresursseja Linux/Unix-palvelimissa.

Siinä on sisäänrakennettu HTTP-verkkopalvelin, joka kerää säännöllisesti järjestelmä- ja verkkotietoja ja näyttää ne kaavioina. Se tarkkailee järjestelmän keskimääräistä kuormitusta ja käyttöä, muistin varausta, levyohjaimen tilaa, järjestelmäpalveluita, verkkoa portit, postitilastot (Sendmail, Postfix, Dovecot jne.), MySQL tilastot, ja monet muut.

Se on suunniteltu valvomaan järjestelmän yleistä suorituskykyä ja auttaa havaitsemaan vikoja, pullonkauloja, epänormaalia toimintaa jne.

Lue asennuksesta ja käytöstä artikkelimme: Monitorix a System and Network Monitoring Tool for Linux

15. Arpwatch – Ethernet Activity Monitor

Arpwatch on eräänlainen ohjelma, joka on suunniteltu seuraamaan Ethernet-osoitteen (MAC- ja IP-osoitteen muutokset) osoitteen resoluutiota. vahva> verkkoliikenne Linux-verkossa.

Se seuraa jatkuvasti Ethernet-liikennettä ja tuottaa lokin IP- ja MAC-osoiteparien muutoksista sekä aikaleiman verkossa. Siinä on myös ominaisuus, joka lähettää sähköposti-ilmoituksia järjestelmänvalvojille, kun pariliitos lisätään tai sitä muutetaan. Se on erittäin hyödyllinen ARP-huijauksen havaitsemisessa verkossa.

Lue asennuksesta ja käytöstä artikkelimme: Arpwatch to Monitor Ethernet Activity

16. Suricata – verkon turvallisuuden valvonta

Suricata on erittäin suorituskykyinen avoimen lähdekoodin verkkoturvallisuus ja tunkeutumisen havainnointi ja ehkäisyvalvontajärjestelmä verkkotunnukselle Linux, FreeBSD ja Windows.

Sen suunnitteli ja omistaa voittoa tavoittelematon säätiö OISF (Open Information Security Foundation).

Lue asennuksesta ja käytöstä artikkelimme: Suricata – Verkkotunkeutumisen havaitsemis- ja estojärjestelmä

17. VnStat PHP – Verkon kaistanleveyden valvonta

VnStat PHP on web-pohjainen käyttöliittymäsovellus suosituimmalle verkkotyökalulle nimeltä "vnstat". VnStat PHP tarkkailee verkkoliikenteen käyttöä hienosti graafisessa tilassa.

Se näyttää IN ja OUT verkkoliikenteen kokonaiskäytön tunneittain, päivittäin, kuukausittain, ja täydellinen yhteenveto.

Lue asennuksesta ja käytöstä artikkelimme: Verkon kaistanleveyden käytön valvonta

18. Nagios – Verkon/palvelimen valvonta

Nagios on johtava avoimen lähdekoodin tehokas valvontajärjestelmä, jonka avulla verkko-/järjestelmänvalvojat voivat tunnistaa ja ratkaista palvelimiin liittyvät ongelmat ennen kuin ne vaikuttavat suuriin liiketoimintaprosesseihin.

Nagios-järjestelmän avulla järjestelmänvalvojat voivat valvoa etä-Linuxia, Windowsia, kytkimiä, reitittimiä ja tulostimia yhdessä ikkunassa. Se näyttää kriittisiä varoituksia ja ilmoittaa, jos jokin meni pieleen verkossasi/palvelimessasi, mikä epäsuorasti auttaa sinua aloittamaan korjausprosessit ennen kuin ne tapahtuvat.

Lue asennuksesta, määrityksestä ja käytöstä artikkelimme - Nagios-valvontajärjestelmän asentaminen Linux-/Windows-etäisäntien valvontaan

19. Nmon: Monitor Linux Performance

Nmon (lyhenne sanoista Nigel's Performance Monitor) -työkalu, jolla valvotaan kaikkia Linux-resursseja, kuten suoritinta, muistia, levyn käyttöä, verkkoa, huippuprosesseja, NFS:ää, ydintä ja paljon muuta. Tällä työkalulla on kaksi tilaa: Online-tila ja tallennustila.

Online-tilaa käytetään reaaliaikaiseen valvontaan, ja Capture Mode -tilaa käytetään tulosteen tallentamiseen CSV-muodossa myöhempää käsittelyä varten.

Lue asennuksesta ja käytöstä artikkelimme: Asenna Nmon (Performance Monitoring) -työkalu Linuxiin

20. Collectl: All-in-One Performance Monitoring Tool

Collectl on toinen tehokas ja monipuolinen komentorivipohjainen apuohjelma, jonka avulla voidaan kerätä tietoja Linuxin järjestelmäresursseista, kuten suorittimen käytöstä, muistista, verkosta, inodeista, prosesseista, nfs:stä, TCP:stä. , pistorasiat ja paljon muuta.

Lue asennuksesta ja käytöstä artikkelimme: Asenna Collectl (All-in-One Performance Monitoring) -työkalu Linuxiin

Haluaisimme tietää, millaisia valvontaohjelmia käytät Linux-palvelimiesi suorituskyvyn seuraamiseen. Jos olemme unohtaneet jonkin tärkeän työkalun, jonka haluaisit meidän sisällyttävän tähän luetteloon, ilmoita siitä meille kommenttien kautta ja älä unohda jakaa sitä.