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