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.