GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Sysdig su Linux per monitorare il carico del sistema

Qui vedremo i passaggi per installare Sysdig, un sistema Linux o uno strumento di monitoraggio del server su CentOS, Redhat, Debian   Ubuntu 20.04/18.04/16.04 insieme ad altre versioni non LTS tra cui Linux Mint e OS elementare.

Cos'è lo strumento di monitoraggio Sysdig Linux?

Sysdig è uno strumento alternativo open source a top, iotop, iftop, strace, tcpdump, htop, iftop, lsof e trace delle transazioni. Fornisce una panoramica completa dell'utilizzo di CPU, memoria, IO, utenti e più direttamente sul terminale di comando in un'interfaccia ben strutturata. Sysdig può essere installato su quasi tutti i sistemi operativi, anche su Windows e OS X.

requisiti

  • Server o desktop Ubuntu
  • Per eseguire tutti i comandi in questo tutorial come si dovrebbe avere accesso utente root o con un utente non root con diritti sudo .

Passaggio 1:aggiorna il sistema

Esegui il comando di aggiornamento del sistema per assicurarti che tutti i repository e gli altri pacchetti installati siano nello stato più recente.

sudo apt update

Passaggio 2:installa Sysdig su vari sistemi Linux

Ubuntu 20.04/18.04 o precedente

Nell'ultimo sistema operativo di Ubuntu e Linux Mint, non è necessario aggiungere alcun repository e possiamo installare Sysdig utilizzando un solo comando, ad es.

sudo apt install sysdig

Tuttavia, in Debian e in altre distribuzioni Linux basate su di esso, esegui lo script seguente che non solo aggiungerà il suo repository ma installerà anche Sysdig.

Prima di eseguire lo script, eseguire il comando per installare curl e altre proprietà comuni del software aiutano l'APT a gestire il software da diverse origini in modo efficiente.

sudo apt -y install software-properties-common curl
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

L'installazione è completamente automatizzata e non richiede ulteriori interventi.

Installazione Sysdig su CentOS, RHEL, Fedora, Amazon Linux

Aggiungi il repository yum

sudo rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
sudo curl -s -o /etc/yum.repos.d/draios.repo https://s3.amazonaws.com/download.draios.com/stable/rpm/draios.repo
sudo yum -y install sysdig

o

sudo dnf -y install sysdig

Installazione Sysdig su CentOS

Installazione Docker Sysdig

docker pull sysdig/sysdig
docker run -i -t --name sysdig --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro sysdig/sysdig

Fase 3:come utilizzare i comandi Sysdig

Il primo semplice comando di Sysdig per visualizzare il processo in esecuzione, il consumo di memoria da parte degli stessi e altro; digita semplicemente:

sudo csysdig

Lo stiamo eseguendo con sudo perché Sysdig ha bisogno di accedere ad alcune aree cruciali del sistema come /proc file system, /dev/sysdig* dispositivi e altro per fornirti il ​​carico corrente e altre informazioni.

Vedrai qualcosa come l'output qui sotto...

PID :Processo PID.
CPU :quantità di CPU utilizzata dal processo.
TH :numero di thread contenuti nel processo.
VIRT :memoria virtuale totale per il processo.
RES :memoria residente non scambiata per il processo.
FILE :Larghezza di banda I/O totale (input+output) del file generata dal processo, in byte al secondo.
NET :Larghezza di banda I/O di rete totale (input+output) generata dal processo, in byte al secondo.
Comando :La riga di comando completa del processo

Comando Sysdig per vedere il processo di sistema

Nello screenshot sopra , puoi vedere i processi attualmente in esecuzione, i comandi e il loro impatto sull'utilizzo del sistema (CPU e carico di memoria). Il menu o l'assegnazione dei tasti si trova in basso. Premendo   F2 si aprirà un altro menu, qui puoi scegliere cosa vuoi guardare.

Comando Sysdig rapido per monitorare il sistema Linux

Puoi vedere nello screenshot qui sopra le cose chiave che dobbiamo monitorare vengono visualizzati sul pannello laterale sinistro nel terminale di comando. Con i tasti freccia puoi scegliere quello che ti interessa e poi premere il tasto Invio tasto che passerà dall'interfaccia al filtro corrispondente.

Ad esempio, per testare le connessioni abbiamo selezionato quello e il seguente mostrato.

Monitoraggio delle connessioni tramite Sysdig

Questo ti mostra quali connessioni sono attualmente connesse al server, ad esempio sessioni SSH attive insieme al plex media server. Se vuoi approfondire per saperne di più, premi F6 .

Analisi approfondita delle connessioni di rete

Allo stesso modo, seleziona Errori l'opzione mostrerà tutti i processi che hanno fallito. Sono ordinati in base alla frequenza con cui si verificano.

Per conoscere il processo e la CPU totale da loro utilizzata, seleziona "CPU di processo ” e premi Invio Chiave.

PID :Processo PID.
TOT :quantità totale di CPU utilizzata dal processo (utente + sistema).
UTENTE :quantità di CPU utente utilizzata dal processo.
SYS :quantità di CPU di sistema utilizzata dal processo.
SYSCALLS :numero di chiamate di sistema al secondo effettuate dal processo.
Comando :La riga di comando completa del processo.

processo e CPU totale

In Elenco file aperti , ad esempio, troverai un elenco di tutti i file a cui si sta attualmente accedendo e chi o quale programma sta accedendo.

I/O per tipo:  mostra quale processo o quale trigger sta attualmente scrivendo e leggendo quanto sul supporto dati. Si tratta della velocità di trasferimento, il numero totale di dati spostati non può essere visualizzato qui.

BPS IN: Byte al secondo letti dagli FD del tipo specifico.
BPS OUT :Byte al secondo scritti negli FD del tipo specifico.
IOPS :numero di operazioni di I/O per la categoria di I/O specificata. Questo conta tutte le operazioni sul file, inclusi aprire, chiudere, leggere, scrivere, stat e così via. Di conseguenza, questo valore può essere zero per i servizi di K8 anche se i byte di I/O per il file sono zero.
TIME :tempo impiegato dai processi per eseguire qualsiasi operazione di I/O (inclusa l'attesa) di questo tipo.
Tipo di I/O :Tipo di I/O. Può essere uno di file, directory, ipv4, ipv6, pipe, Unix, signal, event, inotifMesos Frameworks y

I O per tipo

Sotto  Utenti spia , troverai un elenco di tutti i processi che sono stati chiamati dagli utenti, non il sistema o altri processi. Qui puoi vedere gli elenchi di tutti i comandi che vengono eseguiti in modo interattivo, cioè che hanno una shell come processo padre. Il risultato Files è la visualizzazione di tutte le attività dell'utente, ordinate per tempo.

TEMPO :Ora in cui il comando è stato eseguito.
UTENTE :nome dell'utente che esegue il comando.
SHELL :Pid della shell in cui è stato eseguito questo comando. Questo, essenzialmente, corrisponde a un "ID sessione". Puoi archiviare o ordinare in base a questa colonna per isolare una specifica sessione utente interattiva.
Comando :Il comando eseguito, inclusi gli argomenti.

Allo stesso modo , possiamo esplorare altre opzioni per monitorare i nostri sistemi Linux.

Se vuoi ottenere alcuni dettagli particolari del sistema come CPU, Rete e altro, puoi anche utilizzare il comando diretto corrispondente. Come nella versione Commandline pura, ci sono così tante impostazioni, variabili e filtri che non voglio elencarli tutti qui. Puoi trovare un elenco completo di tutte le funzioni nel Wiki Sysdig. ufficiale

Eccone alcuni:

Per monitorare direttamente il processo in base all'utilizzo della CPU il comando è:

sudo sysdig -c topprocs_cpu

comando sysdig CPU process monitor

Il comando per monitorare entrambe le connessioni di rete 

sudo sysdig -c netstat

Tutta la connessione di rete Linux

Per visualizzare le principali connessioni di rete ed elaborare per input/output di rete

sudo sysdig -c topconns
sudo sysdig -c topprocs_net

Altri comandi rapidi possono essere visualizzati utilizzando il comando:

 sudo sysdig -cl

Di seguito i comandi come da categoria:

Ad esempio, voglio vedere il registro delle richieste HTTP, il primo comando fornito nell'elenco seguente. Per usarlo, digita semplicemente

sudo sysdig -c httplog

Quello in grassetto è il comando...

Category: Application
---------------------
httplog HTTP requests log
httptop Top HTTP requests
memcachelog memcached requests log

Category: CPU Usage
-------------------
spectrogram Visualize OS latency in real time.
subsecoffset Visualize subsecond offset execution time.
topcontainers_cpu Top containers by CPU usage
topprocs_cpu Top processes by CPU usage

Category: Errors
----------------
topcontainers_error Top containers by number of errors
topfiles_errors Top files by number of errors
topprocs_errors top processes by number of errors

Category: I/O
-------------
echo_fds        Print the data read and written by processes.
fdbytes_by        I/O bytes, aggregated by an arbitrary filter field
fdcount_by       FD count, aggregated by an arbitrary filter field
fdtime_by        FD time group by
iobytes             Sum of I/O bytes on any type of FD
iobytes_file      Sum of file I/O bytes
spy_file             Echo any read/write made by any process to all files. Optionally, you can provide the name of one file to only intercept reads
/writes to that file.
stderr        Print stderr of processes
stdin          Print stdin of processes
stdout             Print stdout of processes
topcontainers_file               Top containers by R+W disk bytes
topfiles_bytes                  Top files by R+W bytes
topfiles_time              Top files by time
topprocs_file                Top processes by R+W disk bytes
udp_extract                 extract data from UDP streams to files.

Category: Logs
--------------
spy_logs                   Echo any write made by any process to a log file. Optionally, export  the events around each log message to file.
spy_syslog                     Print every message written to syslog. Optionally, export the events around each syslog message to file.

Category: Misc
--------------
around                  Export to file the events around the time range where the given filter matches.

Category: Net
-------------
iobytes_net    Show total network I/O bytes
spy_ip            Show the data exchanged with the given IP address
spy_port        Show the data exchanged using the given IP port number
topconns         Top network connections by total bytes
topcontainers_net   Top containers by network I/O
topports_server     Top TCP/UDP server ports by R+W bytes
topprocs_net        Top processes by network I/O

Category: Performance
---------------------
bottlenecks             Slowest system calls
fileslower               Trace slow file I/O
netlower               Trace slow network I/0
proc_exec_time              Show process execution time
scallslower               Trace slow syscalls
topscalls                Top system calls by number of calls
topscalls_time             Top system calls by time

Category: Security
------------------
list_login_shells    List the login shell IDs
shellshock_detect     print shellshock attacks
spy_users             Display interactive user activity

Category: System State
----------------------
lscontainers                                 List the running containers
lsof                                     List (and optionally filter) the open file descriptors.
netstat                               List (and optionally filter) network connections.
ps                                List (and optionally filter) the machine processes.

Category: Tracers
-----------------
tracers_2_statsd        Export spans duration as statds metrics.

Use the -i flag to get detailed information about a specific chisel
 

Per conoscere tutti i comandi correlati e altre informazioni con un esempio per sysdig e csysdig strumenti puoi vedere la loro pagina man:

man sysdig
man csysdig

Note finali per Sysdig

Sisdig è uno strumento molto ampio per tenere traccia dello stato corrente e del carico del sistema. Mentre con Csysdig ti offre una comoda interfaccia interattiva basata sulla riga di comando all'interno della console per funzionare in modo efficace. Puoi creare script efficaci e creare file di registro personalizzati utilizzando lo stesso strumento da riga di comando.

Altri tutorial su Linux:

  • Come modificare il timeout del menu di GRUB all'avvio?
  • Tutorial sull'installazione del server OpenSSH su Ubuntu 20.04 LTS

Debian
  1. Come cambiare l'identità di un sistema Linux

  2. Come monitorare le prestazioni del sistema Linux con Sysstat

  3. Come installare Wine su Linux

  4. Come installare e utilizzare Sguardi per monitorare i sistemi Linux

  5. Come installo 'convert' su un sistema Linux?

Come installare Plesk su un sistema Linux

Come installare Monit su Ubuntu 20.04 per monitorare i servizi di sistema

Linux:come installare X11 sul proprio sistema Linux Buildroot?

Come utilizzare il comando fd sul sistema Linux

Come installare Sysdig per monitorare il tuo sistema Linux

Come monitorare le metriche di sistema in tempo reale utilizzando lo strumento Sguardi su Linux