Sysdig: strumento per monitorare il sistema Linux

Ci sono vari strumenti che sono stati sviluppati per aiutarci a gestire i computer gestiti in modo molto più completo e questo è fondamentale poiché ci permette di avere un controllo molto più diretto e conoscere in tempo reale il vero stato di ogni sistema.

Quando gestiamo ambienti Linux abbiamo uno strumento pratico e semplice che ci aiuta ad analizzare il sistema e questo è Sysdig.

Questa volta Solvetic analizzerà come installare e utilizzare Sysdig su Ubuntu 17.04 Server ma questa applicazione sarà di grande aiuto per qualsiasi distribuzione Linux da utilizzare.

Cos'è SysdigSysdig è un'applicazione open source, che esegue una scansione a livello di sistema che consente di acquisire lo stato del sistema e l'attività di un'istanza Linux in esecuzione per salvare, filtrare e analizzare in seguito i dati ottenuti.

Sysdig è stato scritto in Lua e include un'interfaccia a riga di comando e una potente interfaccia utente interattiva, csysdig, che può essere eseguita nel terminale. Attualmente disponiamo di utilità di gestione come:
Strace: Scopri le chiamate e i segnali del sistema a un processo.

  • Tcpdump: Monitoraggio del traffico di rete.
  • Stato netto: Monitoraggio della connessione di rete.
  • In alto: Monitoraggio del processo in tempo reale.
  • In alto: Monitoraggio della larghezza di banda della rete in tempo reale.
  • Lsof: Permette di visualizzare quali file vengono aperti da quale processo.

Con sysdig avremo integrato tutti questi strumenti e molti altri, offrendo un programma semplice e contando sul supporto dei container.

Funzionalità SysdigAlcune delle caratteristiche più importanti di Sysdig sono:

  • È veloce, stabile e facile da usare con un'ampia documentazione.
  • Include il supporto nativo per le tecnologie container, tra cui Docker, LXC e altro.
  • È programmabile in Lua; offre scalpelli (script Lua leggeri) per elaborare gli eventi di sistema acquisiti.
  • Supporta il filtraggio dell'output.
  • Supporta il monitoraggio del sistema e delle applicazioni.
  • Può essere integrato con Ansible, Pupe e Logstash.
  • Consente l'analisi avanzata del registro di esempio.
  • Ha funzionalità di analisi degli attacchi del server Linux (forense) per hacker etici e molto altro.

1. Installa Sysdig su Linux

Passo 1
Per installare Sysdig su Ubuntu 17.04 Server, eseguiremo uno dei seguenti comandi che verificherà tutti i requisiti; se tutto è corretto, scaricherà e installerà il pacchetto dal repository APT / YUM di Draios:

 curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

INGRANDIRE

Passo 2
Una volta completato il processo di installazione, vedremo quanto segue:

INGRANDIRE

2. Usare Sysdig su Linux

Passo 1
Dopo averlo installato, è necessario eseguire sysdig come root, poiché richiede l'accesso ad aree critiche come il file system / dev / sysdig * e sarà necessario caricare automaticamente il modulo del kernel sysdig-probe, eseguiremo quanto segue:

 sudo sysdig

INGRANDIRE

Passo 2
Lì possiamo vedere una serie di dati poco complessi, se vogliamo ottenere una visualizzazione molto più semplice dovremo utilizzare l'interfaccia csysdig. Eseguiamo quanto segue:

 sudo csysdig
Passaggio 3
Il risultato sarà il seguente. Possiamo vedere i dati in un modo molto più organizzato. È importante chiarire che l'obiettivo è utilizzare il comando sysdig per ottenere il vero potenziale dello strumento.

INGRANDIRE

3. Comprendere i filtri e i parametri Sysdig su Linux


A colpo d'occhio abbiamo potuto vedere che i dati generati da sudo sysdig sono complessi e difficili da capire, ma di per sé sono script Lua minimi per esaminare il flusso di eventi sysdig e quindi eseguire azioni di risoluzione dei problemi utili per il sistema in generale.

Passo 1
Eseguendo il seguente comando possiamo vedere i filtri disponibili:

 sudo sysdig -cl

INGRANDIRE

Passo 2
Lì possiamo vedere le diverse categorie disponibili con le rispettive opzioni. Se vuoi saperne di più su un particolare filtro, utilizzeremo l'indicatore -io:

 sudo sysdig -i topprocs_cpu

INGRANDIRE

Passaggio 3
I filtri Sysdig aggiungono ulteriori dettagli al tipo di output che possiamo ottenere dai flussi di eventi, il che ci consente di personalizzare l'output. Un filtro semplice e comune è un controllo di base "class.field = value". Per visualizzare un elenco di classi di campo disponibili, campi e relative descrizioni, eseguiremo quanto segue:

 sudo sysdig -l

INGRANDIRE

4. Crea file di monitoraggio del sistema Linux

Passo 1
Per scaricare l'output di sysdig in un file per un'analisi successiva, dobbiamo usare il parametro -w e sarà possibile leggere il file di dump della traccia con il parametro -R.

L'opzione -s viene utilizzata per specificare il numero di byte di dati da acquisire per ogni evento di sistema. In questo caso, stiamo filtrando gli eventi per il processo mongod.

Passo 2
Ad esempio possiamo eseguire quanto segue:

 sudo sysdig -s 10 -w trace.scap
Passaggio 3
Per la tua analisi eseguiremo quanto segue:
 sudo sysdig -r trace.scap proc.name = mongod

5. Monitora i processi Linux


Se vogliamo elencare tutti i processi del sistema eseguiremo quanto segue:
 sudo sysdig -c ps

INGRANDIRE

Possiamo vedere un riepilogo completo che indica PID, utente, utilizzo della memoria, ecc.

6. Monitora i processi in base all'utilizzo della CPU in Linux


Con Sysdig è possibile monitorare i processi per percentuale di utilizzo della CPU, per questo eseguiamo quanto segue:
 sudo sysdig -c topprocs_cpu

INGRANDIRE

7. Monitora le connessioni di rete e i dispositivi I/O in Linux

Passo 1
Con Sysdig possiamo monitorare tutte le connessioni di rete eseguendo quanto segue:

 sudo sysdig -c netstat

INGRANDIRE

Passo 2
Possiamo vedere tutti gli indirizzi, il protocollo utilizzato, lo stato e il PID. Il seguente comando ci consente di visualizzare le connessioni di rete principali per un numero definito di byte:

 sudo sysdig -c topconns
Passaggio 3
Possiamo anche elencare i processi principali per I/OS di rete con il seguente comando:
 sudo sysdig -c topprocs_net

8. Monitora i file system I/O su Linux

Passo 1
Sarà possibile emettere i dati letti e scritti dai processi nel sistema utilizzando la seguente riga:

 sudo sysdig -c echo_fds

INGRANDIRE

Passo 2
Per elencare i processi principali per byte del disco (lettura e scrittura), utilizzeremo la seguente riga:

 sudo sysdig -c file_topprocs

INGRANDIRE

9. Risolvere i problemi di prestazioni su Linux


Sysdig ci offre l'opportunità di monitorare gli errori di chiamata di sistema (colli di bottiglia) con l'esecuzione del seguente comando:
 sudo sysdig -c colli di bottiglia

INGRANDIRE

Notaper vedere i risultati dobbiamo usare i seguenti tasti per terminare il processo.

Ctrl + C

10. Scopri le reti lente in Linux


Con il seguente comando sarà possibile analizzare quale dispositivo I/O di rete è lento nel sistema:
 sudo sysdig -c netlower

11. Monitora le query HTTP su Linux

Passo 1
Se abbiamo un server HTTP come Apache o Nginx nel sistema, possiamo cercare il registro delle richieste del server usando il seguente comando:

 sudo sysdig -c httplog
Passo 2
Oppure se vogliamo visualizzare le query eseguiremo:
 sudo sysdig -c httptop

12. Distribuzione di shell e interattività dell'utente in Linux

Passo 1
Il seguente comando ci permetterà di vedere tutti gli ID della shell di login:

 sudo sysdig -c list_login_shells
Passo 2
Per vedere l'attività degli utenti eseguiremo quanto segue:
 sudo sysdig -c spy_users

13. Aiuto Sysdig su Linux su Linux


Infine, possiamo accedere all'aiuto di sysdig eseguendo uno dei seguenti comandi:
 uomo sysdig uomo csysdig 

INGRANDIRE

In questo modo, sysdig diventa un'alternativa funzionale quando si tratta di gestire, monitorare e mantenere un controllo molto più preciso su vari aspetti del sistema.

wave wave wave wave wave