Uw Linux-systeem is een uitstekend platform voor servers en desktops. Maar net als elk ander complex systeem is het cruciaal om de juiste monitoring in te stellen om uw systeem op zijn best te houden. Gelukkig is Sysdig net om de hoek!
Sysdig is een uitgebreide Linux-monitoringtool die uw systeem kan monitoren op bedreigingen, fouten, gebruikspatronen en nog veel meer. En in deze tutorial leert u hoe u Sysdig installeert terwijl u specifieke configuratieopties benadrukt om uw Linux-systeem beter te monitoren.
Lees verder en mis nooit meer een ‘alert’!
Vereisten
Deze tutorial zal een hands-on demonstratie zijn. Als u wilt volgen, zorg er dan voor dat u het volgende hebt.
- A Linux machine – This tutorial uses Ubuntu 20.04 LTS, but any Linux distributions will work.
- A non-root user with sudo privileges.
Sysdig installeren op Linux
De Sysdig command-line tool is doorgaans beschikbaar in de meeste moderne Linux-distributies, en u kunt Sysdig installeren zoals u andere pakketten hebt geïnstalleerd op uw machine.
1. Open uw terminal en voer de apt update
opdracht hieronder uit om ervoor te zorgen dat u de nieuwste updates van de repositories van uw distributie heeft. Deze opdracht bijwerkt de pakketlijsten van uw systeem en kan enkele minuten duren om te voltooien.

2. Voer vervolgens de apt install
opdracht hieronder uit om (curl
) te downloaden en installeren
de benodigde pakketten voor Sysdig. Deze opdracht installeert ook enkele extra modules die later in deze zelfstudie worden gebruikt, zoals volgt:
gnupg
– De GNU Privacy Guard is een tool voor veilige communicatie en gegevensopslag. Deze pakket maakt het downloaden van de publieke GPG-sleutel van Sysdig mogelijk om de geldigheid van Sysdig-pakketten te verifiëren.
software-properties-common
– Biedt een snelle manier om uw softwarebronnen te beheren via de opdrachtregelomgeving of GUI. Dit pakket stelt u in staat om de opdrachtadd-apt-repository
te gebruiken om de Sysdig-pakketbronnen toe te voegen.
linux-headers-$(uname -r)
– Biedt de benodigde bestanden om kernelmodules te bouwen voor uw draaiende kernel. Dit pakket is vereist omdat u Sysdig mogelijk installeert op een machine met een oudere standaardkernel.

3. Voer de curl
-opdracht hieronder uit om de GPG openbare sleutel (GPG
) van Sysdig toe te voegen aan de sleutelring van uw APT. Met deze opdracht kunt u controleren of pakketten die zijn gedownload van sysdig.com geldig en ongewijzigd zijn.
U krijgt een OK-bericht nadat u de sleutel succesvol heeft toegevoegd, zoals hieronder wordt weergegeven.

4. Voer nu de curl
-opdracht hieronder uit om de Sysdig-pakketbronnen stilzwijgend (-s
) te downloaden als draios.list
en voeg deze toe aan uw systeem. De extensie .list
vertelt uw APT dat het bestand een lijst van URL’s voor repositories is, in plaats van slechts één URL.
5. Voer de apt update
opdracht hieronder opnieuw uit om de nieuwe Sysdig repositories te downloaden en uw APT-pakketlijsten bij te werken met de informatie van de nieuwe repositories.
U ziet de volgende uitvoer als uw APT correct is geconfigureerd.

6. Nadat u de Sysdig repositories hebt gedownload, voert u de apt install
opdracht hieronder uit om sysdig te installeren
op uw machine. Met deze opdracht worden het sysdig
pakket en de bijbehorende pakketten gedownload en geïnstalleerd.

7. Voer tot slot de sysdig
opdracht hieronder uit om de geïnstalleerde Sysdig-versie op uw machine te controleren.
Het versienummer helpt bepalen of uw Sysdig pakket up-to-date is. Het versienummer geeft ook inzicht in of de release van Sysdig invloed heeft op de systeemprestaties.
Zoals hieronder getoond, is 0.28.0 de nieuwste versie van sysdig op het moment van schrijven. Uw versienummer kan verschillend zijn.

Monitoring Linux-systemen met csysdig
Nu je Sysdig geïnstalleerd hebt, kun je Sysdig gebruiken om te kijken wat er gaande is met je systeem. De Sysdig opdrachtregeltool heeft veel vlaggen die je verschillende weergaven van je systeem en zijn activiteit geven. Het meest eenvoudige voorbeeld is het csysdig
commando.
Voer het commando csysdig
zonder enige vlag uit om te zien wat er op dit moment op je systeem gebeurt. Het commando zal je de activiteit van alle momenteel draaiende processen tonen.
Merk op dat je Sysdig commando’s moet uitvoeren met
sudo
privileges om volledige toegang tot je systeem te hebben. Sommige systeemactiviteit kan standaard verborgen zijn voor niet-root gebruikers, zoals de uitvoer van het /proc-bestandssysteem. Sysdig vereist ooksudo
privileges om de kernel symbolen automatisch te laden die nodig zijn om veel van zijn trucs uit te voeren, zoals de sysdig-probe kernelmodule.
Als je de volgende fout tegenkomt, moet je de ncurses-term
package opnieuw installeren. De ncurses-term
package raakt vaak beschadigd na een nieuwe Sysdig installatie. Sysdig is afhankelijk van de ncurses-term
package om zijn ncurses UI te ondersteunen.

Als het csysdig
commando succesvol is, krijg je de volgende uitvoer georganiseerd in tabbladen.
Description | |
PID | The Process ID that assigned by the Linux kernel. You use PIDs to identify and manage processes. |
PPID | The parent process ID of the process. You use PPID to trace the process back through its parent processes. Together, PID and PPID uniquely identify a process on your system. |
CPU | The percentage of CPU used by the application since it started can be seen on a scale from 0 to 100%, where 100% equals total CPU usage. You use CPU usage to find applications that are hogging system resources. |
USER | The name of the user that started the process. You use USER to find out who is executing a process you are interested in. |
TH | The name of the user that started the process. You use USER to find out who is executing a process you are interested in. |
VIRT | The total amount of virtual memory used by the application. You use VIRT to find applications that are hogging your system’s memory. |
RES | The number of resident memory pages a process has, as mapped to physical memory. You use RES to find applications that are hogging your system’s memory. |
FILE | The disk’s file descriptor used by the application. You use FILE to see which files are being read or written frequently, usually an indication of I/O activity. |
NET | The network socket descriptor used by the application. You use NET to see which network connections are being used by the process, and how much data is being transferred in bytes per second. |
Command | The network socket descriptor used by the application. You use NET to see which network connections are being used by the process, and how much data is being transferred in bytes per second. |
Op het eerste gezicht lijkt de csysdig-interface vergelijkbaar met monitoringshulpmiddelen zoals htop.

Druk op F2 en de bovenste tabbladen zullen veranderen om een nieuwe reeks informatie weer te geven, georganiseerd in tabbladen aan de linkerkant, zoals hieronder weergegeven.
Sysdig noemt deze “weergaven” omdat het verschillende systeemweergaven zijn, georganiseerd op basis van het soort informatie dat ze tonen, en ze bieden meer context. En aangezien deze weergaven op LUA-scripts zijn gebaseerd, kun je de scripts aanpassen om verschillende gegevens uit het systeem te extraheren en de weergave aan te passen zoals jij dat wilt.

Standaard bevinden de LUA-scripts zich in de map /usr/share/sysdig/chisels, zoals hieronder weergegeven.

Het monitoren van CPU-verbruikende processen met Sysdig Chisels
Sysdig biedt verschillende kant-en-klare beitels die automatisch specifieke systeeminformatie verzamelen, bekend als “beitels.” Misschien ervaar je trage prestaties op je CPU. In dat geval stelt het uitvoeren van het sysdig
-commando met een gespecificeerde beitel je in staat om te zien welke applicaties/processen het meeste van je CPU-gebruik in beslag nemen.
1. Voer het onderstaande sysdig
-commando uit om de beschikbare beitels weer te geven.
De onderstaande schermafbeelding toont slechts een paar beitels. Maar u kunt de volledige lijst van alle beschikbare beitels vinden en leren in de officiële documentatie.
Sysdig-beitels zijn ook LUA-scripts. U kunt uw eigen beitels maken om specifieke systeeminformatie te controleren of uw eigen weergave te implementeren, maar dit onderwerp valt buiten de reikwijdte van deze tutorial.

2. Voer vervolgens de onderstaande opdracht uit om gedetailleerde informatie (-i
) te zien over een specifieke beitel, zoals topprocs_cpu
in deze demo.
U kunt hieronder alle informatie over de topprocs_cpu-beitel zien, inclusief de naam, categorie en een korte beschrijving van wat de beitel doet.
In dit voorbeeld is de topprocs_cpu-beitel gecategoriseerd als CPU-gebruik en toont het de topprocessen gedefinieerd door het hoogste CPU-gebruik.
Zodra u de functionaliteit van een beitel begrijpt, kunt u die beitel gaan gebruiken.

3. Voer de sysdig
-opdracht hieronder uit, waarbij u de juiste beitel opgeeft (-c topprocs_cpu
) om de applicaties te vinden die de meeste CPU gebruiken in uw systeem.
Sysdig legt de top 10 CPU-intensieve processen vast in deze demo en toont ze op het terminalvenster. Het meest CPU-intensieve proces wordt bovenaan weergegeven (sshd), zodat ze snel te vinden zijn.

Monitoring van gefilterde systeeminformatie
In sommige gevallen is de uitvoer enorm, waardoor het moeilijk is om systeeminformatie te filteren op basis van een specifieke beitel. Gelukkig biedt Sysdig een krachtige filteroptie die Lua-syntaxis gebruikt, zodat je effectief kunt filteren.
Stel dat je alleen op zoek bent naar sshd-processen die bijdragen aan een hoog CPU-gebruik. Je kunt een filterexpressie definiëren op basis van een specifieke PID of procesnaam.
Voer de onderstaande sysdig
-opdracht uit om alleen het sshd
-proces te tonen dat veel CPU gebruikt.
Zoals hieronder getoond, krijg je een gefilterde uitvoer zonder andere procesinformatie te krijgen.
Vanuit de uitvoer kun je meer informatie krijgen over het sshd-proces, zoals waarom het sshd-proces meer CPU of geheugen gebruikt, enzovoort.

Het maken van een gebeurtenislogbestand om uw systeem te bewaken
Een van de geweldige functies die Sysdig biedt, zijn gebeurtenislogbestanden, waarmee je alle informatie kunt verzamelen over wat je toepassing of het systeem doet voor latere analyse. De gebeurtenislogbestanden bieden dezelfde informatie als de opdrachtregeluitvoer in de vorige voorbeelden, maar worden opgeslagen in een bestand op schijf.
1. Voer de onderstaande opdracht uit om een bestand (-w
) genaamd ata.scap
te maken in je thuismap, waar Syslog alle sysdig
-uitvoer zal opslaan.
De extensie .scap maakt het mogelijk om gegevensstromen op te slaan in de vorm van menselijk leesbare tekst.
2. Voer vervolgens het ls -la
commando hieronder uit om alle bestanden in de werkmap weer te geven.
Je zult een nieuw bestand met de naam ata.scap in je thuismap zien, zoals hieronder getoond.

3. Voer tot slot het onderstaande commando uit voor Sysdig om het Sysdig gebeurtenislogbestand (ata.scap
) te lezen (-r
) en het gedrag van je systeem af te drukken wanneer je SSH gebruikt om in te loggen op je server.

Conclusie
In dit artikel heb je geleerd hoe je Sysdig kunt installeren op Ubuntu 20.04 en hoe je csysdig kunt gebruiken om informatie over je systeem, applicaties en beveiliging te verzamelen. Je hebt ook kort besproken hoe je een gebeurtenislogbestand kunt maken waarmee je het gedrag van je systeem kunt vastleggen.
Op dit punt heb je gemerkt dat het hebben van Sysdig geïnstalleerd op je systeem je krachtige tools biedt. En deze tools helpen je meer inzicht te krijgen in hoe je systeem, applicaties en infrastructuur werken.
Nu, met deze nieuwe kennis, waarom zou je niet leren hoe je je HTTP-verkeer kunt decoderen met Sysdig? Of hoe je applicatieknelpunten kunt opsporen met Sysdig-tracers?