Collectl: uno strumento avanzato di reportistica sulle prestazioni di Linux


Il compito più importante di un amministratore di sistema Linux è assicurarsi che il sistema che sta amministrando sia in ottime condizioni. Sono disponibili molti strumenti per gli amministratori di sistema Linux che possono aiutare a monitorare e visualizzare i processi in un sistema come htop, ma nessuno di questi strumenti può competere con collectl.

collectl è un'utilità della riga di comando ricca di funzionalità molto utile che può essere utilizzata per raccogliere dati sulle prestazioni che descrivono lo stato corrente del sistema. A differenza della maggior parte degli altri strumenti di monitoraggio, collectl non si concentra su un numero limitato di metriche di sistema, ma può raccogliere informazioni su molti diversi tipi di risorse di sistema come cpu, disco, memoria, rete, socket, tcp, inode, infiniband , cluster, memoria, nfs, processi, quadriche, lastre e buddyinfo.

Un aspetto molto positivo dell'utilizzo di collectl è che può anche svolgere il ruolo di utilità progettate solo con uno scopo specifico come iotop e molti altri. Quali sono alcune caratteristiche che rendono Collect uno strumento utile?

Di seguito sono riportate alcune delle funzionalità più importanti dell'utilità della riga di comando collectl per voi ragazzi.

  • Può essere eseguito in modo interattivo, come demone o entrambi.
  • Può visualizzare l'output in molti formati.
  • Ha la capacità di monitorare quasi tutti i sottosistemi.
  • Può svolgere il ruolo di molte altre utilità come ps, top, iotop e vmstat.
  • Ha la capacità di registrare e riprodurre i dati acquisiti.
  • Può esportare i dati in vari formati di file. (questo è molto utile quando vuoi analizzare i dati con strumenti esterni).
  • Può essere eseguito come servizio per monitorare macchine remote o un intero cluster di server.
  • Può visualizzare i dati nel terminale e scrivere su un file o un socket.

Come installare collectl in Linux

L'utility collectl funziona su tutte le distribuzioni Linux, l'unica cosa che richiede per essere eseguita è perl, quindi assicurati di avere Perl installato (viene preinstallato) nella tua macchina prima di installare collectl nella tua macchina.

Il seguente comando può essere utilizzato per installare l'utilità collectl nelle distribuzioni basate su Debian come Ubuntu e Linux Mint.

$ sudo apt-get install collectl

Se stai usando una distribuzione basata su RedHat come Rocky Linux o AlmaLinux, o qualsiasi altra distribuzione Linux, puoi facilmente scaricare il tarball, decomprimerlo ed eseguirlo come mostrato

# wget https://sourceforge.net/projects/collectl/files/latest/download -O collectl.tar.gz
# tar -xvf collectl.tar.gz
# cd collectl-*
# ./INSTALL

Utilizzo dello strumento di monitoraggio Collectl in Linux

Una volta terminata l'installazione del tool collectl, puoi eseguirlo facilmente dal terminale, anche senza alcuna opzione. Il seguente comando visualizzerà informazioni su cpu, disco e statistiche di rete in un formato molto breve e leggibile dall'uomo.

# collectl

Come potete vedere dall'output sopra visualizzato sullo schermo del terminale, è molto facile lavorare con i valori delle metriche di sistema presenti nell'output del comando perché appare su un'unica riga.

Quando l'utility collectl viene eseguita senza alcuna opzione, visualizza le informazioni sui seguenti sottosistemi:

  • processore
  • dischi
  • rete

Nota: nel nostro caso, un sottosistema è ogni tipo di risorsa di sistema che può essere misurata.

È inoltre possibile visualizzare le statistiche per tutti i sottosistemi tranne i solai combinando il comando con l'opzione --all come mostrato di seguito.

# collectl --all

Ma come si monitora l'utilizzo della cpu con l'aiuto dell'utilità? L'opzione -s dovrebbe essere usata per controllare quali dati del sottosistema devono essere raccolti o riprodotti.

Ad esempio, il seguente comando può essere utilizzato per monitorare il riepilogo dell'utilizzo della cpu.

# collectl -sc

Cosa succede quando combini il comando con scdn? Il modo migliore per imparare a utilizzare gli strumenti della riga di comando è esercitarsi il più possibile, quindi esegui il seguente comando nel tuo terminale e guarda cosa succederà.

# collectl -scdn

Puoi facilmente capire che l'opzione predefinita è cdn, sta per cpu, dischi e dati di rete. Il risultato del comando è lo stesso dell'output di collectl -scn

Se vuoi raccogliere dati sulla memoria, usa il seguente comando.

# collectl -sm

L'output di cui sopra è molto utile quando si desidera ottenere informazioni dettagliate sull'utilizzo della memoria, sulla memoria libera e su altre informazioni importanti per le prestazioni del sistema.

Che ne dici di alcuni dati su tcp? Usa il seguente comando per farlo.

# collectl -st

Dopo aver acquisito una certa esperienza, puoi facilmente combinare le opzioni per ottenere i risultati desiderati. Ad esempio, puoi combinare t per tcp e c per cpu. Il seguente comando lo fa.

# collectl -stc

È difficile per noi umani ricordare tutte le opzioni disponibili, quindi sto pubblicando l'elenco riepilogativo dei sottosistemi supportati dallo strumento.

  • b – informazioni sull'amico (frammentazione della memoria)
  • c – CPU
  • d – Disco
  • f – Dati NFS V3
  • i – Inode e File System
  • j – Interrompe
  • l – Lustro
  • m – Memoria
  • n – Reti
  • s – Socket
  • t – TCP
  • x – Interconnessione
  • y – Slab (cache di oggetti di sistema)

Un dato molto importante per un amministratore di sistema o un utente Linux sono i dati raccolti sull'utilizzo del disco. Il seguente comando ti aiuterà a monitorare l'utilizzo del disco.

# collectl -sd

Puoi anche utilizzare l'opzione -sD per raccogliere dati su singoli dischi, ma devi sapere che le informazioni sui dischi totali non verranno riportate.

# collectl -sD

È inoltre possibile utilizzare altri sottosistemi di dettaglio per raccogliere dati dettagliati. Di seguito è riportato un elenco dei sottosistemi dettagliati.

  • C – CPU
  • D – Disco
  • E – Dati ambientali (ventola, potenza, temperatura), tramite ipmitool
  • F – Dati NFS
  • J – Interrompe
  • L – Dettaglio Lustre OST O dettaglio Filesystem client
  • N – Reti
  • T – 65 contatori TCP disponibili solo in formato grafico
  • X – Interconnessione
  • Y – Slab (cache di oggetti di sistema)
  • Z – Processi

Ci sono molte opzioni disponibili nell'utility collectl, ma non c'è abbastanza tempo e spazio per coprirle tutte in un solo articolo. Tuttavia, vale la pena menzionare e insegnare come utilizzare l'utilità come top e ps.

È molto facile far funzionare collectl come l'utilità principale, basta eseguire il seguente comando nel tuo terminale e vedrai un output simile nello strumento principale ti dà quando viene eseguito nel tuo sistema Linux.

# collectl --top

E ora, ultimo ma non meno importante, per utilizzare l'utilità collectl come strumento ps eseguire il seguente comando nel terminale. Otterrai informazioni sui processi nel tuo sistema allo stesso modo di quando esegui il comando ps nel tuo terminale.

# collectl -c1 -sZ -i:1

Sono molto sicuro che molti amministratori di sistema Linux apprezzeranno lo strumento collectl e ne sentiranno il potere quando lo useranno al massimo. Se ti piace portare le tue conoscenze su collectl al livello successivo, fai riferimento alle sue pagine di manuale e continua a esercitarti.

Basta digitare il seguente comando nel terminale e iniziare a leggere.

# man collectl