Hoe Sysdig installeren om je Linux-systeem te monitoren

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.

sudo apt update -y
Updating your System’s Package Lists

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 opdracht add-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.
sudo apt install gnupg software-properties-common curl -y && sudo apt install linux-headers-$(uname -r) -y
Installing the Necessary Packages for Sysdig

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.

curl -s https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public | apt-key add -

U krijgt een OK-bericht nadat u de sleutel succesvol heeft toegevoegd, zoals hieronder wordt weergegeven.

Adding the GPG key to APT”s Keyring

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.

curl -s -o /etc/apt/sources.list.d/draios.list http://download.draios.com/stable/deb/draios.list

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.

sudo apt update -y

U ziet de volgende uitvoer als uw APT correct is geconfigureerd.

Updating your APT’s Package Lists

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.

sudo apt install sysdig -y
Installing Sysdig

7. Voer tot slot de sysdig opdracht hieronder uit om de geïnstalleerde Sysdig-versie op uw machine te controleren.

sudo sysdig --version

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.

Verifying Sysdig Version Installed

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 ook sudo privileges om de kernel symbolen automatisch te laden die nodig zijn om veel van zijn trucs uit te voeren, zoals de sysdig-probe kernelmodule.

sudo csysdig

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.

Getting an Error while Running csysdig

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.

Monitoring System Processes using Csysdig

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.

Viewing System Information via the Csysdig Views

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

ls /usr/share/sysdig/chisels
Listing files (scripts) in the /usr/share/sysdig/chisels directory

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.

sudo sysdig -cl

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.

Showing Sysdig Chisels

2. Voer vervolgens de onderstaande opdracht uit om gedetailleerde informatie (-i) te zien over een specifieke beitel, zoals topprocs_cpu in deze demo.

sudo sysdig -i topprocs_cpu

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.

Showing All Information About the topprocs_cpu Chisel

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.

sudo sysdig -c topprocs_cpu

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.

Listing the process defined by the highest CPU utilization.

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.

sudo sysdig proc.name=sshd

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.

Listing the SSHD process

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.

sudo sysdig -w ata.scap

2. Voer vervolgens het ls -la commando hieronder uit om alle bestanden in de werkmap weer te geven.

ls -la

Je zult een nieuw bestand met de naam ata.scap in je thuismap zien, zoals hieronder getoond.

Listing All Files in Home Directory

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.

sudo sysdig -r ata.scap
Viewing the ata.scap File

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?

Source:
https://adamtheautomator.com/sysdig/