20 kommandolinjeverktøy for å overvåke Linux-ytelse
Det er virkelig en veldig tøff jobb for hver system- eller nettverksadministrator å overvåke og feilsøke problemer med Linux-systemytelse hver dag.
Etter å ha vært Linux-administrator i 10 år i IT-bransjen, ble jeg klar over hvor vanskelig det er å overvåke og holde systemene oppe og kjører.
Av denne grunn har vi satt sammen listen over de 20 mest brukte kommandolinjeovervåkingsverktøyene som kan være nyttige for alle Linux/Unix-systemadministratorer.
[Du vil kanskje også like: 16 nyttige verktøy for båndbreddeovervåking for å analysere nettverksbruk i Linux ]
Disse kommandoene er tilgjengelige under alle varianter av Linux og kan være nyttige for å overvåke og finne de faktiske årsakene til ytelsesproblemer. Denne listen over kommandoer som vises her, er nok til at du kan velge den som passer for ditt overvåkingsscenario.
Linux Top-kommando er et ytelsesovervåkingsprogram som brukes ofte av mange systemadministratorer for å overvåke Linux-ytelse, og det er tilgjengelig under mange Linux/Unix-lignende operativsystemer.
Den øverste kommandoen brukes til å vise alle kjørende og aktive sanntidsprosesser i en ordnet liste og oppdaterer den regelmessig. Den viser CPU-bruk, minnebruk, Swap Memory, Cache Size, Buffer Size, Process PID, User, Commands, og mye mer.
Den viser også høy minne og CPU-utnyttelse av kjørende prosesser. Den øverste kommandoen er mye nyttig for systemadministratorer for å overvåke og iverksette korrigerende tiltak når det er nødvendig. La oss se toppkommandoen i aksjon.
# top
For flere eksempler på Top-kommandoer les: 12 TOP-kommandoeksempler i Linux
Linux VmStat-kommandoen brukes til å vise statistikk over virtuelt minne, kjernetråder, disker, systemprosesser, I/O-blokker, avbrudd, CPU-aktivitet og mye mer.
Som standard er vmstat-kommandoen ikke tilgjengelig under Linux-systemer, du må installere en pakke kalt sysstat (et kraftig overvåkingsverktøy) som inkluderer et vmstat-program.
$ 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]
Den vanlige bruken av vmstat-kommandoformatet er.
# 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
For mer bruk og eksempler, les: 6 Vmstat Command Eksempler i Linux
lsof-kommandoen brukes i mange Linux/Unix-lignende systemer for å vise en liste over alle åpne filer og prosessene. De åpne filene som er inkludert er diskfiler, nettverkskontakter, rør, enheter og prosesser.
En av hovedårsakene til å bruke denne kommandoen er når en disk ikke kan demonteres og viser feilen om at filer brukes eller åpnes. Med denne kommandoen kan du enkelt identifisere hvilke filer som er i bruk.
Det vanligste formatet for lsof-kommando er.
# 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 ...
For mer bruk og eksempler, les: 10 lsof kommandoeksempler i Linux
tcpdump-kommandoen er en av de mest brukte kommandolinjenettverkspakkeanalysator- eller pakkesnifferprogrammene som brukes til å fange opp eller filtrere TCP/IP-pakker som mottas eller overføres på et spesifikt grensesnitt over et nettverk.
Det gir også et alternativ for å lagre fangede pakker i en fil for senere analyse. tcpdump er nesten tilgjengelig i alle store Linux-distribusjoner.
# 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 ...
For mer bruk og eksempler, les: 12 Tcpdump-kommandoeksempler i Linux
Netstat er et kommandolinjeverktøy for å overvåke innkommende og utgående nettverkspakkerstatistikk samt grensesnittstatistikk. Det er et veldig nyttig verktøy for hver systemadministrator for å overvåke nettverksytelsen og feilsøke nettverksrelaterte problemer.
# 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 ...
For mer bruk og eksempler, les – 20 Netstat-kommandoeksempler i Linux.
Mens netstat i dag har blitt avviklet til fordel for ss-kommandoen, kan du fortsatt oppdage netstat i nettverksverktøysettet ditt.
htop er et mye avansert interaktivt og sanntids Linux prosessovervåkingsverktøy, som ligner mye på Linux toppkommando, men det har noen rike funksjoner som et brukervennlig grensesnitt for å administrere prosesser, snarveistaster, vertikale og horisontale visninger av prosessene, og mye mer.
# htop
htop er et tredjepartsverktøy, som ikke følger med Linux-systemer, du må installere det ved å bruke systempakkebehandlingsverktøyet. For mer informasjon om htop-installasjon, les artikkelen vår – Installer Htop (Linux Process Monitoring) i Linux.
iotop ligner også mye på toppkommando og htop-program, men den har en regnskapsfunksjon for å overvåke og vise sanntids Disk I/O og prosesser.
iotop-verktøyet er mye nyttig for å finne den nøyaktige prosessen og mye brukt disklesing/skriving av prosessene.
Som standard er ikke iotop-kommandoen tilgjengelig under Linux, og du må installere den som vist.
$ 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]
Den vanlige bruken av iotop-kommandoformatet er.
# iotop
For mer bruk og eksempler, les – Iotop – Monitor Linux Disk I/O Activity and Usage Per-Process Basis.
iostat er et enkelt verktøy som samler inn og viser systeminndata og -utdata for lagringsenhet. Dette verktøyet brukes ofte til å spore ytelsesproblemer for lagringsenheter, inkludert enheter, lokale disker, eksterne disker som NFS.
For å få iostat-kommandoen må du installere en pakke kalt sysstat som vist.
$ 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]
Den vanlige bruken av iostat-kommandoformatet er.
# 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
For mer bruk og eksempler, les – 6 Iostat-kommandoeksempler i Linux.
IPTraf er et åpen kildekode-konsollbasert sanntidsnettverk (IP LAN) overvåkingsverktøy for Linux. Den samler inn en rekke informasjon som IP-trafikkmonitor som passerer over nettverket, inkludert TCP-flagginformasjon, ICMP-detaljer, TCP/UDP-trafikkbrudd, TCP-tilkoblingspakke og bytetellinger.
Den samler også informasjon om generell og detaljert grensesnittstatistikk for TCP, UDP, IP, ICMP, ikke-IP, IP-sjekksumfeil, grensesnittaktivitet, etc.
For mer informasjon om installasjon og bruk, les – Real-Time Interactive IP LAN Monitoring with IPTraf Tool.
psacct eller acct-verktøy er svært nyttige for å overvåke hver brukers aktivitet på systemet. Begge demonene kjører i bakgrunnen og følger nøye med på den generelle aktiviteten til hver bruker på systemet og også hvilke ressurser som forbrukes av dem.
Disse verktøyene er svært nyttige for systemadministratorer for å spore hver brukers aktivitet som hva de gjør, hvilke kommandoer de utstedte, hvor mye ressurser som brukes av dem, hvor lenge de er aktive på systemet osv.
For installasjon og eksempelbruk av kommandoer, les artikkelen om Monitor User Activity med psacct eller acct
Monit er et gratis åpen kildekode og nettbasert prosessovervåkingsverktøy som automatisk overvåker og administrerer systemprosesser, programmer, filer, kataloger, tillatelser, kontrollsummer og filsystemer.
Den overvåker tjenester som Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH og så videre. Systemstatusen kan ses fra kommandolinjen eller ved å bruke dets eget webgrensesnitt.
For installasjon og konfigurasjon, les artikkelen vår – Hvordan installere og konfigurere Monit (Linux Process and Services Monitoring) Program.
NetHogs er et fint lite program med åpen kildekode (lik Linux toppkommando) som holder oversikt over hver prosessnettverksaktivitet på systemet ditt. Den holder også oversikt over båndbredden for nettverkstrafikk i sanntid som brukes av hvert program eller program.
# nethogs
For installasjon og bruk, les artikkelen vår: Monitor Linux Network Bandwidth Using NetHogs
iftop er et annet terminalbasert gratis åpen kildekode-systemovervåkingsverktøy som viser en ofte oppdatert liste over nettverksbåndbreddeutnyttelse (kilde- og destinasjonsverter) som går gjennom nettverksgrensesnittet på systemet ditt.
iftop vurderes for nettverksbruk, hva 'top' gjør for CPU-bruk. iftop er et topp-familieverktøy som overvåker et valgt grensesnitt og viser gjeldende båndbreddebruk mellom to verter.
# iftop
For installasjon og bruk, les artikkelen vår: iftop – Monitor Network Bandwidth Utilization
Monitorix er et gratis lettvektsverktøy som er designet for å kjøre og overvåke system- og nettverksressurser så mange som mulig i Linux/Unix-servere.
Den har en innebygd HTTP-nettserver som regelmessig samler inn system- og nettverksinformasjon og viser dem i grafer. Den overvåker nettverksporter, poststatistikk (Sendmail, Postfix, Dovecot, etc), MySQL-statistikk og mange flere.
Den er designet for å overvåke den generelle systemytelsen og hjelper til med å oppdage feil, flaskehalser, unormale aktiviteter, etc.
For installasjon og bruk, les artikkelen vår: Monitorix et system- og nettverksovervåkingsverktøy for Linux
Arpwatch er et slags program som er designet for å overvåke adresseoppløsningen til (MAC- og IP-adresseendringer) av Ethernet-nettverkstrafikk på et Linux-nettverk.
Den holder kontinuerlig øye med Ethernet-trafikk og produserer en logg over endringer i IP- og MAC-adressepar sammen med et tidsstempel på et nettverk. Den har også en funksjon for å sende e-postvarsler til administratorer når en sammenkobling legges til eller endres. Det er veldig nyttig for å oppdage ARP-spoofing på et nettverk.
For installasjon og bruk, les artikkelen vår: Arpwatch for å overvåke Ethernet-aktivitet
Suricata er et høyytelses åpen kildekode-nettverkssikkerhet og inntrengningsdeteksjon og forebyggingsovervåkingssystem for Linux, FreeBSD og Windows.
Den ble designet og eid av en non-profit stiftelse OISF (Open Information Security Foundation).
For installasjon og bruk, les artikkelen vår: Suricata – A Network Intrusion Detection and Prevention System
VnStat PHP er en nettbasert frontend-applikasjon for det mest populære nettverksverktøyet kalt vnstat. VnStat PHP overvåker bruk av nettverkstrafikk i pent grafisk modus.
Den viser total INN- og UT-nettverkstrafikkbruk i time-, daglig-, måneds- og fullstendige oppsummeringsrapporter.
For installasjon og bruk, les artikkelen vår: Monitoring Network Bandwidth Usage
Nagios er et ledende åpen kildekode kraftig overvåkingssystem som gjør det mulig for nettverks-/systemadministratorer å identifisere og løse serverrelaterte problemer før de påvirker store forretningsprosesser.
Med Nagios-systemet kan administratorer overvåke eksterne Linux, Windows, brytere, rutere og skrivere i ett enkelt vindu. Den viser kritiske advarsler og indikerer om noe gikk galt i nettverket/serveren, noe som indirekte hjelper deg med å starte utbedringsprosesser før de oppstår.
For installasjon, konfigurasjon og bruk, les artikkelen vår - Installer Nagios overvåkingssystem for å overvåke eksterne Linux/Windows-verter
19. Nmon: Overvåk Linux-ytelse
Nmon (står for Nigels ytelsesmonitor)-verktøy, som brukes til å overvåke alle Linux-ressurser som CPU, minne, diskbruk, nettverk, toppprosesser, NFS, kjerne og mye mer. Dette verktøyet kommer i to moduser: Online Mode og Capture Mode.
Online-modus brukes til sanntidsovervåking og fangstmodus brukes til å lagre utdata i CSV-format for senere behandling.
For installasjon og bruk, les artikkelen vår: Installer Nmon (Performance Monitoring) Tool i Linux
20. Collectl: Alt-i-ett verktøy for ytelsesovervåking
Collectl er nok et kraftig og funksjonsrikt kommandolinjebasert verktøy som kan brukes til å samle informasjon om Linux-systemressurser som CPU-bruk, minne, nettverk, inoder, prosesser, nfs, TCP, sockets og mye mer.
For installasjon og bruk, les artikkelen vår: Installer Collectl (All-in-One Performance Monitoring) Tool i Linux
Vi vil gjerne vite hva slags overvåkingsprogrammer du bruker for å overvåke ytelsen til Linux-serverne dine? Hvis vi har gått glipp av noe viktig verktøy som du vil at vi skal inkludere i denne listen, vennligst informer oss via kommentarer, og ikke glem å dele det.
[Du vil kanskje også like: 13 Linux Performance Monitoring Tools – Del 2 ]