Il tuo sistema Linux è una piattaforma eccellente per server e desktop. Ma come qualsiasi altro sistema complesso, è fondamentale avere un monitoraggio adeguato per mantenere il sistema al massimo delle prestazioni. Fortunatamente, Sysdig è proprio dietro l’angolo!
Sysdig è uno strumento completo di monitoraggio per Linux che può monitorare il tuo sistema per minacce, errori, modelli di utilizzo e molto altro. E in questo tutorial imparerai ad installare Sysdig evidenziando particolari opzioni di configurazione per monitorare meglio il tuo sistema Linux.
Continua a leggere e non perdere mai più un “allarme”!
Prerequisiti
Questo tutorial sarà una dimostrazione pratica. Se desideri seguirla, assicurati di avere quanto segue.
- A Linux machine – This tutorial uses Ubuntu 20.04 LTS, but any Linux distributions will work.
- A non-root user with sudo privileges.
Installazione di Sysdig su Linux
Lo strumento a riga di comando di Sysdig è generalmente disponibile nella maggior parte delle moderne distribuzioni Linux e puoi installare Sysdig come altri pacchetti che hai installato finora sul tuo computer.
1. Apri il tuo terminale e esegui il comando apt update
di seguito per assicurarti di avere gli ultimi aggiornamenti dai repository della tua distribuzione. Questo comando aggiorna l’elenco dei pacchetti del sistema e potrebbe richiedere alcuni minuti per completare.

2. Successivamente, esegui il comando apt install
di seguito per scaricare (curl
) e installare
i pacchetti necessari per Sysdig. Questo comando installa anche alcuni moduli aggiuntivi utilizzati in seguito in questo tutorial come segue:
gnupg
– Il GNU Privacy Guard è uno strumento per la comunicazione sicura e la memorizzazione dei dati. Questo pacchetto consente di scaricare la chiave GPG pubblica di Sysdig per verificare la validità dei pacchetti di Sysdig.
software-properties-common
– Fornisce un modo rapido per gestire le tue fonti software tramite l’ambiente della riga di comando o l’interfaccia grafica. Questo pacchetto ti consente di utilizzare il comandoadd-apt-repository
per aggiungere i repository del pacchetto Sysdig.
linux-headers-$(uname -r)
– Fornisce i file necessari per compilare i moduli del kernel per il tuo kernel in esecuzione. Questo pacchetto è richiesto perché potresti installare Sysdig su una macchina con un kernel stock più vecchio.

3. Esegui il comando curl
di seguito per aggiungere la chiave pubblica GPG (GPG
) di Sysdig all’anello delle chiavi APT. Questo comando ti consente di verificare che i pacchetti scaricati da sysdig.com siano validi e non modificati.
Riceverai un messaggio OK dopo aver aggiunto con successo la chiave, come mostrato di seguito.

4. Ora, esegui il comando curl
di seguito per scaricare silenziosamente (-s
) i repository Sysdig come draios.list
e aggiungerlo al tuo sistema. L’estensione .list
comunica ad APT che il file è un elenco di URL per i repository, anziché un solo URL.
5. Esegui nuovamente il comando apt update
di seguito per scaricare i nuovi repository di Sysdig e aggiornare l’elenco dei pacchetti di APT con le informazioni dei nuovi repository.
Se la tua configurazione di APT è corretta, vedrai il seguente output.

6. Dopo aver scaricato i repository di Sysdig, esegui il comando apt install
di seguito per installare sysdig
sulla tua macchina. Questo comando scarica e installa il pacchetto sysdig
e i pacchetti di supporto.

7. Infine, esegui il comando sysdig
di seguito per verificare la versione di Sysdig installata sulla tua macchina.
Il numero di versione aiuta a determinare se il tuo pacchetto Sysdig è aggiornato. La versione fornisce anche informazioni su come il rilascio di Sysdig influisce sulle prestazioni del sistema.
Come mostrato di seguito, 0.28.0 è l’ultima versione di sysdig al momento della scrittura di questo testo. Il tuo numero di versione potrebbe essere diverso.

Monitoraggio dei sistemi Linux con csysdig
Ora che hai installato Sysdig, puoi utilizzarlo per monitorare ciò che sta accadendo nel tuo sistema. Lo strumento a riga di comando di Sysdig ha molte opzioni che ti permettono di visualizzare diverse informazioni sul sistema e la sua attività. Un esempio di base è il comando csysdig
.
Esegui il comando csysdig
senza alcuna opzione per vedere cosa sta accadendo nel tuo sistema in tempo reale. Il comando mostrerà l’attività di tutti i processi attualmente in esecuzione.
Tieni presente che devi eseguire i comandi di Sysdig con i privilegi di
sudo
per avere pieno accesso al tuo sistema. Alcune attività di sistema potrebbero essere nascoste di default agli utenti non root, come ad esempio l’output del file system /proc. Sysdig richiede anche i privilegi disudo
per caricare automaticamente i simboli del kernel necessari per svolgere molte delle sue funzionalità, come il modulo del kernel sysdig-probe
Se incontri il seguente errore, dovrai reinstallare il pacchetto ncurses-term
. Il pacchetto ncurses-term
tende a corrompersi dopo una nuova installazione di Sysdig. Sysdig dipende dal pacchetto ncurses-term
per supportare la sua interfaccia utente ncurses.

Se il comando csysdig
ha successo, otterrai l’output seguente organizzato in schede.
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. |
A prima vista, l’interfaccia csysdig sembra simile agli strumenti di monitoraggio come htop.

Premendo F2, le schede superiori cambieranno per mostrare un nuovo set di informazioni organizzate in schede a sinistra, come mostrato di seguito.
Sysdig chiama queste “viste” perché sono diverse visualizzazioni del sistema, organizzate in base al tipo di informazioni che mostrano, offrendo più contesto. E poiché queste viste sono basate su script LUA, puoi personalizzare gli script per estrarre dati diversi dal sistema e cambiare la vista come preferisci.

Di default, gli script LUA si trovano nella directory /usr/share/sysdig/chisels, come mostrato di seguito.

Monitorare i Processi che Consumano CPU con i Chisels di Sysdig
Sysdig offre diversi chisels pronti all’uso che raccolgono automaticamente specifiche informazioni di sistema, conosciute come “chisels“. Forse stai riscontrando prestazioni lente sulla tua CPU. In tal caso, l’esecuzione del comando sysdig
con un chisel specificato ti consente di vedere quali applicazioni/processi stanno occupando la maggior parte del tuo utilizzo della CPU.
1. Esegui il comando sysdig
qui sotto per elencare i chisels disponibili.
Lo screenshot sottostante mostra solo alcuni scalpelli. Ma puoi trovare e apprendere l’elenco completo di tutti gli scalpelli disponibili nella documentazione ufficiale.
Gli scalpelli Sysdig sono anche script LUA. Puoi creare i tuoi scalpelli per monitorare informazioni specifiche di sistema o implementare la tua vista, ma questo argomento esula dallo scopo di questo tutorial.

2. Successivamente, esegui il comando sottostante per visualizzare le informazioni dettagliate (-i
) su uno specifico scalpello, come ad esempio topprocs_cpu
in questa demo.
Puoi vedere tutte le informazioni sullo scalpello topprocs_cpu di seguito, inclusi il nome dello scalpello, la categoria e una breve descrizione di ciò che fa lo scalpello.
In questo esempio, lo scalpello topprocs_cpu è categorizzato come Utilizzo della CPU e mostra il processo principale definito dall’utilizzo della CPU più elevato.
Una volta compresa la funzionalità di uno scalpello, puoi iniziare a utilizzarlo.

3. Esegui il comando sysdig
di seguito, specificando lo scalpello corretto (-c topprocs_cpu
) per trovare le applicazioni che utilizzano la maggior quantità di CPU nel tuo sistema.
Sysdig cattura i primi 10 processi che consumano la CPU in questa demo e li stampa sul terminale. Il processo più intensivo per la CPU verrà visualizzato in cima (sshd), rendendoli più rapidi da individuare.

Monitoraggio delle informazioni di sistema filtrate
In alcuni casi, l’output è enorme, rendendo difficile filtrare le informazioni di sistema in base a uno scalpello specifico. Fortunatamente, Sysdig offre una potente opzione di filtraggio che utilizza la sintassi Lua in modo da poter effettuare un filtraggio efficace.
Supponiamo che tu stia cercando solo i processi sshd che contribuiscono a un elevato utilizzo della CPU. Puoi definire un’ espressione di filtro specificando un PID o un nome di processo specifico.
Esegui il comando sysdig
di seguito per mostrare solo il processo sshd
che utilizza molta CPU.
Come mostrato di seguito, otterrai un output filtrato senza ottenere altre informazioni sui processi.
Dall’output, puoi ottenere ulteriori informazioni sul processo sshd, ad esempio perché il processo sshd utilizza più CPU o memoria, e così via.

Creazione di un file di log eventi per monitorare il tuo sistema
Una delle grandi caratteristiche offerte da Sysdig sono i file di log eventi, che ti consentono di raccogliere tutte le informazioni su ciò che la tua applicazione o il sistema fa per analisi future. I file di log eventi forniscono le stesse informazioni degli output della riga di comando negli esempi precedenti, ma vengono salvati su un file su disco.
1. Esegui il comando di seguito per creare un file (-w
) chiamato ata.scap
nella tua directory home, dove Syslog archivierà tutti gli output di sysdig
.
L’estensione del file .scap consente di salvare flussi di dati in forma di testo leggibile dall’uomo.
2. Successivamente, esegui il comando ls -la
di seguito per elencare tutti i file nella directory di lavoro.
Noterai un nuovo file chiamato ata.scap nella tua directory home, come mostrato di seguito.

3. Infine, esegui il comando seguente per far sì che Sysdig legga (-r
) il file di registro degli eventi di Sysdig (ata.scap
) e stampi il comportamento del tuo sistema quando accedi al server tramite SSH.

Conclusioni
In questo articolo hai imparato come installare Sysdig su Ubuntu 20.04 e utilizzare csysdig per raccogliere informazioni sul sistema, sulle applicazioni e sulla sicurezza. Hai anche toccato l’argomento della creazione di un file di registro degli eventi che ti consente di registrare il comportamento del tuo sistema.
A questo punto, ti sei reso conto che avere Sysdig installato nel tuo sistema ti fornisce strumenti potenti. E questi strumenti ti aiutano a ottenere maggiori informazioni su come funzionano il tuo sistema, le tue applicazioni e l’infrastruttura.
Ora, con questa nuova conoscenza, perché non impari a decodificare il tuo traffico HTTP con Sysdig? O come individuare i collo di bottiglia delle applicazioni con i tracer di Sysdig?