Zoeken op website

20 onmisbare opdrachtregelhulpmiddelen om de Linux-prestaties te controleren


Het zijn van een systeem- of netwerkbeheerder die dagelijks de prestatieproblemen van Linux-systemen moet monitoren en debuggen, is een enorm uitdagende verantwoordelijkheid.

Het vereist een niet-aflatende toewijding, een diepgaand begrip van Linux-systemen en een constante toewijding aan het garanderen van optimale prestaties en betrouwbaarheid.

Na tien jaar te hebben gewerkt als Linux-beheerder in de IT-industrie, ben ik de zware taak van het monitoren en garanderen van de continue werking van systemen echt gaan waarderen.

In het licht hiervan hebben we een uitgebreide lijst samengesteld van de 20 meestgebruikte opdrachtregelcontroletools. Deze tools van onschatbare waarde kunnen onmisbaar blijken voor elke Linux/Unix-systeembeheerder, waardoor ze de gezondheid en prestaties van hun systemen efficiënt kunnen monitoren, diagnosticeren en onderhouden.

Deze monitoringtools zijn beschikbaar onder alle varianten van Linux en kunnen nuttig zijn bij het monitoren en vinden van de daadwerkelijke oorzaken van prestatieproblemen. Deze lijst met commando's die hier wordt weergegeven, is voldoende om u de opdracht te laten kiezen die geschikt is voor uw monitoringscenario.

1. Boven – Linux-procesbewaking

Linux top command is een prestatiebewakingsprogramma dat vaak door veel systeembeheerders wordt gebruikt om de Linux-prestaties te controleren en is beschikbaar onder veel Linux/Unix-achtige besturingssystemen.

Het top-commando wordt gebruikt om alle lopende en actieve realtime-processen in een geordende lijst weer te geven en deze regelmatig bij te werken. Het toont CPU-gebruik, Geheugengebruik, Wisselgeheugen, Cachegrootte, Buffergrootte , Proces-PID, Gebruiker, Opdrachten en nog veel meer.

Het toont ook een hoog geheugen- en CPU-gebruik van actieve processen. Het topcommando is erg handig voor systeembeheerders om toezicht te houden en indien nodig corrigerende maatregelen te nemen. Laten we het bovenste commando in actie zien.

top

2. VmStat – Virtuele geheugenstatistieken

De Linux VmStat-opdracht wordt gebruikt om statistieken weer te geven van virtueel geheugen, kernelthreads, schijven, systeemprocessen , I/O-blokken, onderbrekingen, CPU-activiteit en nog veel meer.

Installeer VmStat op Linux

Standaard is de vmstat-opdracht niet beschikbaar onder Linux-systemen. U moet een pakket met de naam sysstat installeren (een krachtige monitoringtool) dat een vmstat-programma bevat.

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]

Het algemene gebruik van het vmstat-opdrachtformaat is.

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 – Lijst met geopende bestanden

Het lsof-commando wordt in veel Linux/Unix-achtige systemen gebruikt om een lijst met alle geopende bestanden en processen weer te geven. De geopende bestanden zijn schijfbestanden, netwerksockets, pipes, apparaten en processen sterk>.

Een van de belangrijkste redenen om deze opdracht te gebruiken is wanneer een schijf niet kan worden ontkoppeld en de foutmelding wordt weergegeven dat bestanden worden gebruikt of geopend. Met deze opdracht kunt u eenvoudig identificeren welke bestanden in gebruik zijn.

Het meest gebruikelijke formaat voor de opdracht lsof is.

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

De opdracht tcpdump is een van de meest gebruikte opdrachtregelprogramma's voor Network Packet Analyzer of Packet Sniffer die wordt gebruikt voor het vastleggen of filteren van >TCP/IP pakketten die op een specifieke interface via een netwerk worden ontvangen of overgedragen.

Het biedt ook een optie om vastgelegde pakketten in een bestand op te slaan voor latere analyse. tcpdump is bijna beschikbaar in alle grote Linux-distributies.

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

De netstat is een opdrachtregelprogramma voor het controleren van inkomende en uitgaande netwerk pakketstatistieken, evenals interfacestatistieken. Het is een zeer nuttig hulpmiddel voor elke systeembeheerder om de netwerkprestaties te controleren en netwerkgerelateerde problemen op te lossen.

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

Hoewel netstat tegenwoordig verouderd is ten gunste van de opdracht ss, kun je netstat nog steeds tegenkomen in je netwerktoolkit.

6. Htop – Linux-procesbewaking

htop is een zeer geavanceerd interactief en real-time Linux-procesbewakingsprogramma, dat veel lijkt op Linux top command, maar het heeft een aantal rijke functies, zoals een user- gebruiksvriendelijke interface voor het beheren van processen, sneltoetsen, verticale en horizontale weergaven van de processen, en nog veel meer.

htop

htop is een tool van derden, die niet bij Linux-systemen wordt geleverd. U moet deze installeren met behulp van uw systeempakketbeheertool.

Voor meer informatie over htop-installatie lees ons artikel – Installeer Htop (Linux Process Monitoring) in Linux.

7. Iotop – Bewaak Linux-schijf-I/O

iotop lijkt ook veel op het top commando en het htop programma, maar het heeft een boekhoudfunctie om in realtime te monitoren en weer te geven Schijf-I/O en processen.

De iotop-tool is erg handig voor het vinden van het exacte proces en de veelgebruikte schijflees-/schrijfbewerkingen van de processen.

Installeer IoTop op Linux

Standaard is de opdracht iotop niet beschikbaar onder Linux en moet u deze installeren zoals weergegeven.

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]

Het algemene gebruik van het iotop-opdrachtformaat is.

iotop

8. Iostat – Invoer-/uitvoerstatistieken

iostat is een eenvoudige tool die systeem-invoer en uitvoer opslagapparaatstatistieken verzamelt en toont. Deze tool wordt vaak gebruikt om prestatieproblemen met opslagapparaten op te sporen, waaronder apparaten, lokale schijven en externe schijven zoals NFS >.

Installeer Iostat op Linux

Om de opdracht iostat te krijgen, moet u een pakket met de naam sysstat installeren, zoals weergegeven.

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]

Het algemene gebruik van het iostat-opdrachtformaat is.

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 – Realtime IP LAN-bewaking

IPTraf is een open-source consolegebaseerd real-time netwerk (IP LAN) monitoringhulpprogramma voor Linux. Het verzamelt een verscheidenheid aan informatie, zoals IP-verkeersmonitoring die over het netwerk gaat, inclusief TCP-vlaginformatie, ICMP-details, TCP/UDP-verkeersstoringen, TCP-verbindingspakketten en bytetellingen.

Het verzamelt ook informatie over algemene en gedetailleerde interfacestatistieken van TCP, UDP, IP, ICMP, niet-IP, IP-checksum-fouten, interface-activiteit, enz.

10. Psacct of Acct – Monitor gebruikersactiviteit

psacct- of acct-tools zijn erg handig voor het monitoren van de activiteit van elke gebruiker op het systeem. Beide daemons draaien op de achtergrond en houden de algehele activiteit van elke gebruiker op het systeem nauwlettend in de gaten en ook welke bronnen door hen worden verbruikt.

Deze tools zijn erg handig voor systeembeheerders om de activiteiten van elke gebruiker bij te houden, zoals wat ze doen, welke opdrachten ze hebben gegeven, hoeveel bronnen ze gebruiken, hoe lang ze actief zijn op het systeem, enz.

11. Monit – Monitoring van Linux-processen en -services

Monit is een gratis open-source en webgebaseerd hulpprogramma voor procestoezicht dat automatisch systeemprocessen, programma's, bestanden, mappen, machtigingen, controlesommen en bestandssystemen bewaakt en beheert.

Het controleert services zoals Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH, enzovoort. De systeemstatus kan worden bekeken vanaf de opdrachtregel of via de eigen webinterface.

Voor installatie en configuratie leest u ons artikel – Hoe u het Monit-programma (Linux Process and Services Monitoring) kunt installeren en instellen.

12. NetHogs – Monitor de netwerkbandbreedte per proces

NetHogs is een leuk klein open-sourceprogramma (vergelijkbaar met Linux top command) dat elke procesnetwerkactiviteit op uw systeem in de gaten houdt. Het houdt ook de realtime bandbreedte van het netwerkverkeer bij die door elk programma of elke applicatie wordt gebruikt.

nethogs

Lees ons artikel voor installatie en gebruik: Monitor Linux Network Bandwidth Using NetHogs

13. iftop – Netwerkbandbreedtebewaking

iftop is een ander terminalgebaseerd gratis open source systeemmonitoringhulpprogramma dat een regelmatig bijgewerkte lijst weergeeft van het netwerkbandbreedtegebruik (bron- en bestemmingshosts) dat via de netwerkinterface op uw systeem loopt.

iftop is analoog aan ‘top’ in de context van netwerkgebruik, net zoals ‘top’ inzicht geeft in CPU-gebruik.

iftop behoort tot de gewaardeerde ‘top’-familie van netwerkmonitoringtools. Het is specifiek ontworpen om een door de gebruiker geselecteerde netwerkinterface te observeren en geeft realtime gegevens weer over het huidige bandbreedtegebruik tussen twee gespecificeerde hosts.

iftop

Lees ons artikel voor installatie en gebruik: iftop – Monitor netwerkbandbreedtegebruik

14. Monitorix – Systeem- en netwerkmonitoring

Monitorix is een gratis lichtgewicht hulpprogramma dat is ontworpen om zoveel mogelijk systeem- en netwerkbronnen op Linux/Unix-servers uit te voeren en te monitoren.

Het heeft een ingebouwde HTTP-webserver die regelmatig systeem- en netwerkinformatie verzamelt en deze in grafieken weergeeft. Het controleert gemiddelde systeembelasting en gebruik, geheugentoewijzing, schijfstuurprogrammastatus, systeemservices, netwerk ports, mailstatistieken (Sendmail, Postfix, Dovecot, enz.), MySQL statistieken, en nog veel meer.

Het is ontworpen om de algehele systeemprestaties te bewaken en helpt bij het opsporen van storingen, knelpunten, abnormale activiteiten, enz.

Lees ons artikel voor installatie en gebruik: Monitorix een systeem- en netwerkmonitoringtool voor Linux

15. Arpwatch – Ethernet-activiteitsmonitor

Arpwatch is een soort programma dat is ontworpen om de adresresolutie van (MAC en IP adreswijzigingen) van Ethernet te controleren sterk> netwerkverkeer op een Linux-netwerk.

Het houdt voortdurend het Ethernet-verkeer in de gaten en produceert een logboek van wijzigingen in IP- en MAC-adresparen, samen met een tijdstempel op een netwerk. Het heeft ook een functie om e-mailwaarschuwingen naar beheerders te sturen wanneer een koppeling wordt toegevoegd of gewijzigd. Het is erg handig bij het detecteren van ARP spoofing op een netwerk.

Lees ons artikel voor installatie en gebruik: Arpwatch om Ethernet-activiteit te monitoren

16. Suricata – Netwerkbeveiligingsmonitoring

Suricata is een krachtig open-source netwerkbeveiliging en inbraakdetectie en preventiemonitoringsysteem voor Linux, FreeBSD en Windows.

Het is ontworpen en eigendom van de non-profitorganisatie OISF (Open Information Security Foundation).

Lees ons artikel voor installatie en gebruik: Suricata – Een netwerkinbraakdetectie- en -preventiesysteem

17. VnStat PHP – Netwerkbandbreedte bewaken

VnStat PHP is een webgebaseerde frontend-applicatie voor de meest populaire netwerktool genaamd “vnstat“. VnStat PHP monitort het netwerkverkeergebruik in een mooi grafische modus.

Het toont het totale IN en OUT netwerkverkeersgebruik in per uur, dagelijks, maandelijks, en volledige samenvatting rapporten.

Lees voor installatie en gebruik ons artikel: Netwerkbandbreedtegebruik monitoren

18. Nagios – Netwerk-/serverbewaking

Nagios is een toonaangevend open-source krachtig monitoringsysteem waarmee netwerk-/systeembeheerders servergerelateerde problemen kunnen identificeren en oplossen voordat deze belangrijke bedrijfsprocessen beïnvloeden.

Met het Nagios-systeem kunnen beheerders Linux, Windows, switches, routers en printers op afstand in één venster monitoren. Het toont kritische waarschuwingen en geeft aan of er iets mis is gegaan in uw netwerk/server, wat u indirect helpt om herstelprocessen te starten voordat deze zich voordoen.

Lees voor installatie, configuratie en gebruik ons artikel – Installeer Nagios Monitoring System om externe Linux/Windows-hosts te monitoren

19. Nmon: Linux-prestaties monitoren

Nmon (staat voor Nigel's Performance Monitor) tool, die wordt gebruikt om alle Linux-bronnen te controleren, zoals CPU, geheugen, schijfgebruik, netwerk, topprocessen, NFS, kernel en nog veel meer. Deze tool is beschikbaar in twee modi: onlinemodus en opnamemodus.

De onlinemodus wordt gebruikt voor realtime monitoring en de capture-modus wordt gebruikt om de uitvoer in CSV-formaat op te slaan voor latere verwerking.

Lees ons artikel voor installatie en gebruik: Installeer Nmon (Performance Monitoring) Tool in Linux

20. Collectl: alles-in-één tool voor prestatiemonitoring

Collectl is nog een ander krachtig en veelzijdig opdrachtregelprogramma dat kan worden gebruikt om informatie te verzamelen over Linux-systeembronnen zoals CPU-gebruik, geheugen, netwerk, inodes, processen, nfs, TCP , stopcontacten en nog veel meer.

Lees voor installatie en gebruik ons artikel: Installeer Collectl (All-in-One Performance Monitoring) Tool in Linux

We willen graag weten wat voor soort monitoringprogramma's u gebruikt om de prestaties van uw Linux-servers te monitoren. Als we een belangrijke tool hebben gemist die u graag in deze lijst wilt opnemen, laat het ons dan weten via opmerkingen en vergeet niet deze te delen.