20 kommandolinjeværktøjer til overvågning af Linux-ydeevne


Det er virkelig et meget hårdt job for hver system- eller netværksadministrator at overvåge og fejle Linux-systemydelsesproblemer hver dag. Efter at have været Linux-administrator i 5 år i it-industrien, fik jeg at vide, at hvor svært er at overvåge og holde systemer i gang. Af denne grund har vi samlet listen over Top 20 ofte anvendte kommandolinjeværktøj, der kan være nyttige for hver Linux/Unix-systemadministrator. Disse kommandoer er tilgængelige under alle varianter af Linux og kan være nyttige til at overvåge og finde de faktiske årsager til ydeevneproblemet. Denne liste over kommandoer, der vises her, er meget nok til, at du kan vælge den, der passer til dit overvågningsscenarie.

Linux Top-kommando er et ydeevneovervågningsprogram, der ofte bruges af mange systemadministratorer til at overvåge Linux-ydeevne, og det er tilgængeligt under mange Linux/Unix-lignende operativsystemer. Den øverste kommando bruges til at dipslay alle de kørende og aktive realtidsprocesser i den ordnede liste og opdaterer den regelmæssigt. Det viser CPU-brug, hukommelsesforbrug, swap-hukommelse, cache-størrelse, bufferstørrelse, proces-PID, bruger, kommandoer og meget mere. Det viser også høj hukommelse og CPU-udnyttelse af en kørende processess. Den øverste kommando er meget brugbar for systemadministratoren til at overvåge og tage korrekte handlinger, når det er nødvendigt. Lad os se den øverste kommando i aktion.

# top

Eksempel på øverste kommando

For flere eksempler på Topkommando læs: 12 TOP Kommandoeksempler i Linux

Linux VmStat-kommando bruges til at vise statistik over virtuel hukommelse, kernerl-tråde, diske, systemprocesser, I/O-blokke, afbrydelser, CPU-aktivitet og meget mere. Som standard er vmstat-kommandoen ikke tilgængelig under Linux-systemer, du skal installere en pakke kaldet sysstat, der inkluderer et vmstat-program. Den almindelige anvendelse af kommandoformat er.

# 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

For flere Vmstat-eksempler, læs: 6 Vmstat-kommandoeksempler i Linux

Lsof-kommando, der bruges i mange Linux/Unix-lignende system, der bruges til at vise en liste over alle de åbne filer og processerne. De medfølgende åbne filer er diskfiler, netværksstik, rør, enheder og processer. En af hovedårsagerne til brugen af denne kommando er, når en disk ikke kan afmonteres og viser den fejl, som filer bruges eller åbnes. Med denne kommando kan du nemt identificere, hvilke filer der er i brug. Det mest almindelige format for denne kommando er.

# 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

Mere brug af lsof kommando og eksempler: 10 lsof kommandoeksempler i Linux

Tcpdump en af de mest anvendte kommandolinjepakkeanalysatorer eller pakker-snifferprogrammer, der bruges til at fange eller filtrere TCP/IP-pakker, der modtages eller overføres til en bestemt grænseflade over et netværk. Det giver også mulighed for at gemme fangede pakker i en fil til senere analyse. tcpdump er næsten tilgængelig i alle større Linux-distributioner.

# 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

For mere tcpdump-brug læs: 12 Tcpdump Command-eksempler i Linux

Netstat er et kommandolinjeværktøj til overvågning af indgående og udgående netværkspakkestatistik såvel som interface-statistik. Det er meget nyttigt værktøj for enhver systemadministrator til at overvåge netværksydelse og foretage fejlfinding af netværksrelaterede problemer.

# 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

Flere Netstat-eksempler: 20 Netstat Command-eksempler i Linux.

Htop er et meget avanceret interaktivt og realtids Linux procesovervågningsværktøj. Dette ligner meget Linux-topkommandoen, men det har nogle rige funktioner som brugervenlig grænseflade til at styre proces, genvejstaster, lodret og vandret visning af processerne og meget mere. Htop er et tredjepartsværktøj og er ikke inkluderet i Linux-systemer, du skal installere det ved hjælp af YUM-pakkehåndteringsværktøjet. For mere information om installation, læs vores artikel nedenfor.

# htop

Skærmbillede af Htop-kommandoeksempel

Læs Htop-installation: Installer Htop (Linux Process Monitoring) i Linux

Iotop ligner også meget topkommando og Htop-program, men det har regnskabsfunktion til at overvåge og vise real-time Disk I/O og processer. Dette værktøj er meget nyttigt til at finde den nøjagtige proces og højt anvendte disklæsning/skrivning af processerne.

# iotop

Skærmbillede af eksempel på Iotop-kommando

Ved installation og brug af Ioptop læses: Installer Iotop i Linux

IoStat er et simpelt værktøj, der samler og viser systeminput- og outputlagerenhedsstatistikker. Dette værktøj bruges ofte til at spore problemer med lagerenhedens ydeevne, herunder enheder, lokale diske, eksterne diske såsom 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

For mere Iostat-brug og eksempler besøg: 6 Iostat Command-eksempler i Linux

IPTraf er et open source konsolbaseret realtidsnetværk (IP LAN) overvågningsværktøj til Linux. Den indsamler en række oplysninger, såsom IP-trafikovervågning, der passerer over netværket, herunder TCP-flagoplysninger, ICMP-detaljer, TCP/UDP-trafiknedbrud, TCP-forbindelsespakke og byne-tællinger. Det indsamler også information om generelle og detalerede interface-statistikker over TCP, UDP, IP, ICMP, ikke-IP, IP-kontrolsumfejl, interface-aktivitet osv.

For mere information og brug af IPTraf-værktøjet, besøg: IPTraf Network Monitoring Tool

psacct- eller acct-værktøjer er meget nyttige til overvågning af hver brugers aktivitet på systemet. Begge dæmoner kører i baggrunden og holder nøje øje med den samlede aktivitet for hver bruger på systemet, og også hvilke ressourcer der forbruges af dem.

Disse værktøjer er meget nyttige for systemadministratorer til at spore hver brugers aktivitet, som hvad de laver, hvilke kommandoer de har udstedt, hvor meget ressourcer der bruges af dem, hvor længe de er aktive på systemet osv.

For installation og eksempelbrug af kommandoer, læs artiklen om Overvåg brugeraktivitet med psacct eller acct

Monit er et gratis open source- og webbaseret procesovervågningsværktøj, der automatisk overvåger og administrerer systemprocesser, programmer, filer, kataloger, tilladelser, checksum og filsystemer.

Det overvåger tjenester som Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH og så videre. Systemets status kan ses fra kommandolinjen eller ved hjælp af sin egen webgrænseflade.

Læs mere: Linux-procesovervågning med Monit

NetHogs er et åbent lille pænt program (svarende til Linux topkommando), der holder en fane på hver procesnetværksaktivitet på dit system. Det holder også styr på realtids netværkstrafikbåndbredde, der bruges af hvert program eller applikation.

Læs mere: Overvåg Linux-netværksbåndbredde ved hjælp af NetHogs

iftop er et andet terminalbaseret gratis open source-systemovervågningsværktøj, der viser en ofte opdateret liste over brug af netværksbåndbredde (kilde- og destinationsværter), der passerer gennem netværksgrænsefladen på dit system. iftop overvejes for netværksbrug, hvad 'top' gør for CPU-brug. iftop er et 'top' familieværktøj, der overvåger en valgt grænseflade og viser en aktuel båndbreddeforbrug mellem to værter.

Læs mere: iftop - Overvåg brug af netværksbåndbredde

Monitorix er et gratis letvægtsværktøj, der er designet til at køre og overvåge system- og netværksressourcer så mange som muligt på Linux/Unix-servere. Den har en indbygget HTTP-webserver, der regelmæssigt indsamler system- og netværksoplysninger og viser dem i grafer. Det overvåger systembelastningsgennemsnit og -forbrug, hukommelsesallokering, diskdriverhygiejne, systemtjenester, netværksporte, mailstatistikker (Sendmail, Postfix, Dovecot osv.), MySQL-statistik og mange flere. Det er designet til at overvåge den samlede systemydelse og hjælper med at opdage fejl, flaskehalse, unormale aktiviteter osv.

Læs mere: Monitorix et system- og netværksovervågningsværktøj til Linux

Arpwatch er en slags program, der er designet til at overvåge adresseopløsning (MAC- og IP-adresseændringer) af Ethernet-netværkstrafik på et Linux-netværk. Det holder konstant øje med Ethernet-trafik og producerer en log over IP- og MAC-adresseparændringer sammen med en tidsstempel på et netværk. Det har også en funktion til at sende e-mail-alarmer til administratoren, når en parring tilføjes eller ændres. Det er meget nyttigt til at opdage ARP-spoofing på et netværk.

Læs mere: Arpwatch til overvågning af Ethernet-aktivitet

Suricata er et højtydende open source netværkssikkerheds- og indtrængningsdetekterings- og forebyggelsesovervågningssystem til Linux, FreeBSD og Windows.Det blev designet og ejet af en nonprofit-fond OISF (Open Information Security Foundation).

Læs mere: Suricata - Et netværk til detektion og forebyggelse af netværk

VnStat PHP er en webbaseret frontend-applikation til det mest populære netværksværktøj kaldet “vnstat“. VnStat PHP overvåger et netværkstrafikbrug i pænt grafisk tilstand. Det viser en samlet IN- og OUT-netværkstrafikforbrug i timebaseret, daglig, månedlig og fuldstændig oversigtsrapport.

Læs mere: VnStat PHP - Overvågning af netværksbåndbredde

Nagios er et førende kraftfuldt open source-overvågningssystem, der gør det muligt for netværks-/systemadministratorer at identificere og løse serverrelaterede problemer, før de påvirker større forretningsprocesser. Med Nagios-systemet kan administratorer overvåge fjernbetjening af Linux, Windows, switche, routere og printere i et enkelt vindue. Det viser kritiske advarsler og angiver, om noget gik galt i dit netværk/server, hvilket indirekte hjælper dig med at starte saneringsprocesser, før de opstår.

Læs mere: Installer Nagios overvågningssystem til overvågning af eksterne Linux/Windows-værter

19. Nmon: Overvåg Linux-ydeevne

Nmon (står for Nigels performance Monitor) -værktøj, der bruges til at overvåge alle Linux-ressourcer såsom CPU, hukommelse, diskbrug, netværk, topprocesser, NFS, kerne og meget mere. Dette værktøj kommer i to tilstande: Online-tilstand og Capture-tilstand.

Onlinetilstanden bruges til overvågning i realtid og optagelsestilstand bruges til at gemme output i CSV-format til senere behandling.

Læs mere: Installer Nmon (Performance Monitoring) Tool i Linux

20. Collectl: Alt-i-en-værktøj til overvågning af ydeevne

Collectl er endnu et kraftfuldt og funktionelt kommandolinjebaseret værktøj, der kan bruges til at indsamle oplysninger om Linux-systemressourcer såsom CPU-brug, hukommelse, netværk, inoder, processer, nfs, tcp, sockets og meget mere.

Læs mere: Installer Collectl (All-in-One Performance Monitoring) Tool i Linux

Vi vil gerne vide, hvilken slags overvågningsprogrammer du bruger til at overvåge ydeevnen på dine Linux-servere? Hvis vi har gået glip af noget vigtigt værktøj, som du gerne vil have os med på denne liste, bedes du informere os via kommentarer og glem ikke at dele det.

Læs også : 13 Linux Performance Monitoring Tools - Del 2