Come installare e utilizzare iostat su Ubuntu 17 Linux

Quando si eseguono attività di amministrazione in ambienti Linux, è ideale e consigliabile disporre di strumenti e utilità che ci consentano di avere un controllo molto più preciso sui dati da analizzare poiché in questo modo semplifichiamo e ordiniamo il nostro compito, permettendoci di ottenere molto di più risultati esatti.

Una di queste utility è iostat e oggi in Solvetic analizzeremo come possiamo utilizzarla per ottenere report diretti, chiari e totalmente affidabili degli elementi che gestiamo nella nostra organizzazione indipendentemente dalla distribuzione utilizzata, in questo caso utilizzeremo Ubuntu 17.10 Server.

Cos'è iostatIostat (input/output statistics - input/output statistics) è un'utility attraverso la quale sarà possibile ottenere informazioni sui componenti di input e output del sistema, fornendo all'amministratore o all'utente la possibilità di individuare problemi di prestazioni sia sul disco locale e dischi remoti o informazioni generali sul sistema operativo.

Utilizzando questo comando, può essere utilizzato per controllare il carico del dispositivo di ingresso/uscita del sistema osservando il tempo in cui questi dispositivi sono attivi in ​​relazione alle loro velocità di trasferimento medie all'interno del sistema.

Quando utilizziamo iostat, sarà possibile generare report che possono essere utilizzati per modificare la configurazione del sistema e bilanciare in modo molto più efficiente il carico di input e/o output tra i dischi fisici.

Il primo report generato dal comando iostat fornisce statistiche sul tempo generale dall'inizio del processo di avvio del sistema, quindi ogni report successivo copre il tempo trascorso dal report precedente; Tutte le statistiche verranno riportate ogni volta che eseguiamo il comando iostat.

Questo report è costituito da una riga di intestazione CPU seguita da una riga di statistiche CPU e, se disponiamo di sistemi multiprocessore, le statistiche CPU vengono calcolate in tutto il sistema come medie tra tutti i processori esistenti e quindi una riga di intestazioni dispositivo seguita da una riga di statistiche per ogni dispositivo configurato.

1. Installa iostat su Ubuntu 17.10


Per impostazione predefinita in questa distribuzione, iostat è incluso nel pacchetto Ubuntu sysstat e possiamo installarlo semplicemente eseguendo il seguente comando:
 sudo apt install sysstat -y

INGRANDIRE

2. Usa iostat in Ubuntu 17.10

Passo 1
Il primo comando che possiamo eseguire è iostat che visualizzerà le informazioni sull'utilizzo della CPU e le statistiche I/O di Ubuntu 17.10:

INGRANDIRE

Passo 2
Lì vedremo dettagli come:

  • Nella prima riga la versione del kernel Linux e il nome host.
  • Nelle prossime due righe vedremo le statistiche della CPU, come l'utilizzo medio della CPU, la percentuale di tempo in cui la CPU è stata inattiva e la risposta I/O, la percentuale di timeout della CPU virtuale e la percentuale di tempo in cui la CPU è inattiva all'interno del sistema.
  • Nelle ultime due righe potremo vedere il report dell'utilizzo del dispositivo, come il numero di blocchi di lettura e scrittura al secondo e il numero totale di letture di blocco e scrittura al secondo che sono state eseguite su detto dispositivo.

Passaggio 3
Per impostazione predefinita, il comando iostat genera il report con la data corrente, quindi, se vogliamo visualizzare l'ora corrente, sarà necessario utilizzare il seguente comando:

 iostat -t

INGRANDIRE

Passaggio 4
Al momento vogliamo verificare la versione di iostat, basta eseguire quanto segue:

 iostat -V

INGRANDIRE

Passaggio 5
Vale la pena ricordare che, per vedere tutte le opzioni, che indicheremo in seguito, possiamo utilizzare la seguente riga:

 iostat -help 

INGRANDIRE

3. Usa la modalità iostat avanzata in Ubuntu 17.10


In alcuni casi possiamo avvalerci di alcuni parametri più avanzati a seconda del tipo di richiesta richiesta, alcune di queste opzioni sono le seguenti.

Passo 1
Se vogliamo vedere il report di un dispositivo solo una volta, eseguiremo il seguente comando:

 iostat -d

INGRANDIRE

Passo 2
Per vedere il report di questo dispositivo continuamente ogni 7 secondi, per 4 volte di seguito eseguiremo la seguente riga:

 iostat -d 7 4

INGRANDIRE

Passaggio 3
Se vogliamo vedere le statistiche di dispositivi specifici, utilizzeremo il seguente comando:

 iostat -p sda

INGRANDIRE

Passaggio 4
Possiamo vedere le statistiche di vari dispositivi contemporaneamente eseguendo quanto segue:

 iostat -p sda, sdb, sdc
Passaggio 5
Per ottenere le statistiche di I/O del dispositivo in MB/secondo, eseguiremo il seguente comando:
 iostat -m

INGRANDIRE

Passaggio 6
Per ottenere le informazioni specifiche di una partizione estesa dobbiamo utilizzare il seguente comando:

 iostat -x "partizione"

INGRANDIRE

Passaggio 7
Per visualizzare le statistiche di utilizzo della CPU, il comando da utilizzare sarà il seguente:

 iostat -c

INGRANDIRE

4. Rapporti Iostat in Ubuntu 17.10


Ora, possiamo vedere che ciascuna delle opzioni da utilizzare è pratica, ma ogni riga contiene un certo valore che a prima vista non saremo in grado di capire molto bene, ecco perché Solvetic spiegherà cosa significa ciascuno di questi valori per capire ancora meglio i risultati generati da iostat capendo che il comando iostat genera tre tipi di report che sono:
  • Il rapporto sull'utilizzo della CPU
  • Il rapporto sull'utilizzo del dispositivo
  • Il rapporto sul file system di rete

Passo 1
Ora, i valori sono i seguenti. Nel primo report generato dal comando iostat, abbiamo i dettagli sull'utilizzo della CPU. Per i sistemi multiprocessore, i valori della CPU sono medie globali su tutti i processori attivi. Il rapporto ha il seguente formato:

% utenteVisualizza la percentuale di utilizzo della CPU che si è verificata durante l'esecuzione a livello di utente (applicazione).

% simpaticoRiflette la percentuale di utilizzo della CPU che si è verificata durante l'esecuzione a livello utente con priorità alta.

% sistemaVisualizza la percentuale di utilizzo della CPU che si è verificata durante l'esecuzione a livello di sistema (kernel).

% iowaitVisualizza la percentuale di tempo in cui la CPU o le CPU sono rimaste inattive durante il quale il sistema ha avuto una richiesta di I/O del disco in sospeso.

% rubareVisualizza la percentuale di tempo trascorso inavvertitamente in attesa della/e CPU virtuale/e mentre l'hypervisor serviva un altro processore virtuale.

% oziareMostra la percentuale di tempo in cui le CPU erano inattive e il sistema non aveva una richiesta di I/O del disco in sospeso.

Passo 2
Il secondo report generato dal comando iostat è il Report di utilizzo del dispositivo in questo report del dispositivo le statistiche sono fornite dal dispositivo fisico o dalla partizione. Il report può visualizzare i seguenti campi, a seconda degli indicatori utilizzati:

DispositivoQuesta colonna fornisce il nome del dispositivo (o della partizione), visualizzato come hdiskn per i kernel 2.2, per l'ennesimo dispositivo. Viene visualizzato come devm -n con kernel 2.4, dove m è il numero del dispositivo principale e n è un numero distintivo. Con i kernel più recenti, il nome del dispositivo verrà visualizzato come mostrato nella directory / dev.

tpsIndica il numero di trasferimenti al secondo entrati nel dispositivo. Un trasferimento è una richiesta di I/O al dispositivo, questa può essere combinata con più richieste logiche in un'unica richiesta di I/O al dispositivo. Un trasferimento è di entità indeterminata.

Blk_read / sSi riferisce alla quantità di dati letti dal dispositivo espressa in un numero di blocchi al secondo. I blocchi sono equivalenti a settori con kernel 2.4 e successivi e, quindi, hanno una dimensione di 512 byte. Con i nuclei più vecchi, un blocco ha una dimensione indeterminata.

Blk_wrtn / sIndica la quantità di dati scritti sul dispositivo espressa in più blocchi al secondo.

Blk_readÈ il numero totale di blocchi letti.

Blk_wrtnÈ il numero totale di blocchi scritti.

kB_read / sIndica la quantità di dati letti dal dispositivo espressa in kilobyte al secondo.

kB_wrtn / sIndica la quantità di dati scritti sul dispositivo espressa in kilobyte al secondo.

kB_readÈ il numero totale di kilobyte letti.

kB_wrtnÈ il numero totale di kilobyte scritti.

MB_leggi / sSi riferisce alla quantità di dati letti dal dispositivo espressa in megabyte al secondo.

MB_wrtn / sSi riferisce alla quantità di dati scritti dal dispositivo espressa in megabyte al secondo.

MB_leggiÈ il numero totale di megabyte letti.

MB_wrtnÈ il numero totale di megabyte scritti.

rrqm / sQuesto è il numero di richieste di lettura unite al secondo che sono state accodate al dispositivo.

wrqm / sQuesto è il numero di richieste di scrittura unite al secondo che sono state accodate al dispositivo.

r / sÈ il numero di richieste di lettura inviate al dispositivo al secondo.

con / sÈ il numero di richieste di scrittura inviate al dispositivo al secondo.

rsec / sSono il numero di settori letti dal dispositivo al secondo.

wsec / sSono il numero di settori scritti del dispositivo al secondo.

rkB / sSono il numero di kilobyte letti dal dispositivo al secondo.

wkB / sSono il numero di kilobyte scritti sul dispositivo al secondo.

rMB / sSono il numero di megabyte letti dal dispositivo al secondo.

wMB / sSono il numero di megabyte scritti sul dispositivo al secondo.

avgrq-szÈ la dimensione media (in settori) delle richieste che sono state inviate al dispositivo.

avgqu-szÈ la durata media della coda delle richieste che sono state inviate al dispositivo.

aspettaÈ il tempo medio (in millisecondi) per le richieste di I/O emesse per il dispositivo da servire nel sistema.

svctmÈ il tempo medio di servizio (in millisecondi) per le richieste di I/O che sono state emesse al dispositivo.

%UtileIndica la percentuale di tempo CPU durante il quale sono state emesse richieste di I/O al dispositivo (utilizzo della larghezza di banda per il dispositivo). La saturazione del dispositivo si verifica quando questo valore è vicino al 100%.

Passaggio 3
Il terzo report iostat è il report NFS (Network File System) che fornisce statistiche per ogni file system di rete montato sul sistema. Il report mostra i seguenti campi:

File systemQuesta colonna visualizza il nome host del server NFS seguito da due punti e dal nome della directory in cui è montato il file system di rete.

rBlk_nor / sIndica il numero di blocchi letti dalle applicazioni tramite l'interfaccia di chiamata di sistema di lettura, un blocco ha una dimensione di 512 byte.

wBlk_nor / sIndica il numero di blocchi scritti dalle applicazioni tramite l'interfaccia di chiamata del sistema di scrittura.

rBlk_dir / sSi riferisce al numero di blocchi letti da file aperti con il flag O_DIRECT.

wBlk_dir / sIndica il numero di blocchi scritti nei file aperti con il flag O_DIRECT.

rBlk_svr / sSi riferisce al numero di blocchi letti dal server dal client NFS tramite una richiesta di lettura NFS.

wBlk_svr / sIndica il numero di blocchi scritti sul server dal client NFS tramite una richiesta NFS WRITE.

ops / sIndica il numero di operazioni emesse al file system al secondo.

rops / sIndica il numero di operazioni di "lettura" emesse al file system al secondo.

wops / sSi riferisce al numero di operazioni di 'scrittura' emesse al file system al secondo.

5. Parametri iostat generali in Ubuntu 17.10


I parametri che possiamo usare con iostat sono:

-CGenera il rapporto sull'utilizzo della CPU.

-DGenera il rapporto sull'utilizzo del dispositivo.

-hConsenti la visualizzazione del rapporto NFS per scelta: è più facile da leggere per un essere umano.

-KVisualizza le statistiche in kilobyte al secondo anziché in blocchi al secondo. I dati mostrati sono validi solo con kernel 2.4 e successivi.

-mGenera statistiche in megabyte al secondo invece di blocchi o kilobyte al secondo. I dati mostrati sono validi solo con kernel 2.4 e successivi.

-nVisualizza il rapporto NFS (Network File System). Questa opzione funziona solo con il kernel 2.6.17 e versioni successive.

-P[{dispositivo [,…] | ALL}]: L'opzione -p visualizza le statistiche dei dispositivi a blocchi e tutte le loro partizioni utilizzate dal sistema. Se aggiungiamo un nome di dispositivo sulla riga di comando, verranno visualizzate le statistiche e tutte le sue partizioni. Infine, la parola chiave ALL indica che le statistiche devono essere visualizzate per tutte le partizioni ei dispositivi a blocchi definiti dal sistema.

-TStampa l'ora di ogni report generato. Il formato del timestamp può dipendere dal valore della variabile di ambiente S_TIME_FORMAT.

-VStampa la versione di iostat utilizzata.

-XVisualizza statistiche estese.

-zIndica a iostat di saltare l'output di qualsiasi dispositivo per il quale non c'è attività durante il periodo di campionamento selezionato.

Come possiamo vedere, iostat è più di una semplice utility di sistema, dobbiamo sfruttarla al meglio e quindi gestire i nostri sistemi operativi in ​​modo molto più completo.

wave wave wave wave wave