LFCA: Come monitorare le metriche di sistema di base in Linux – Parte 8

Questo articolo è Parte 8 della serie LFCA, qui in questa parte, ti familiarizzerai con i comandi generali di amministrazione di sistema per monitorare le metriche di base del sistema e pianificare compiti amministrativi nel sistema Linux.

Mantenere sotto controllo le prestazioni del tuo sistema è uno dei ruoli cruciali che dovrai svolgere come amministratore di sistema. Certo, ci sono abbastanza strumenti di monitoraggio open-source come Grafana e Nagios per monitorare le metriche di sistema.

Fortunatamente, Linux fornisce alcune utility da riga di comando che consentono di avere un’occhiata a alcune delle statistiche e informazioni vitali del sistema, come la utilizzazione CPU e della memoria e i processi in esecuzione.

Facciamo un breve sguardo alle alcune delle utility da riga di comando che possono aiutarvi a monitorare le metriche di base del sistema:

1. Comando uptime

Il comando uptime fornisce la durata per cui il sistema è stato in esecuzione da quando è stato acceso. Senza opzioni di comando, fornisce l’ora corrente, l’ora di avvio del sistema, gli utenti loggati e l’attesa media.

$ uptime

Con l’opzione -s, ottieni la data del sistema e l’ora di avvio del sistema.

$ uptime -s

Usa l’opzione -p per ottenere solo l’uptime

$ uptime -p
Check Linux System Uptime

2. Comando free

Per ottenere un’idea del totale e della memoria disponibile e dello spazio swap sul tuo sistema, usa il comando free come segue. L’opzione -h stampa l’output in un formato leggibile da esseri umani.

$ free -h
Check Linux Memory Usage

3. Comando top

Il comando top fa due cose: fornisce un riepilogo delle metriche di sistema in tempo reale e mostra i processi in esecuzione attualmente gestiti dal kernel Linux.

Oltre a mostrare i processi in esecuzione, il comando top combina l’output fornito dai comandi uptime e free, situato in cima.

$ top
Check Linux Running Processes

Un’ulteriore migliorazione del comando top è l’utilità htop che mostra le statistiche in un formato intuitivo e leggibile da esseri umani.

su Linux, puoi installare htop usando il comando:

$ sudo apt install htop  [On Debian-based]
$ sudo dnf install htop  [On RHEL-based]

Per avviare htop esegui semplicemente il comando:

$ htop
htop – an interactive process viewer

4. Comando df

Ci siamo già occupati del utilità df (disk-free) nei comandi base del Linux. Il comando df fornisce informazioni sull’utilizzo del disco per ciascun filesystem. Usate il flag -Th per stampare le informazioni in un formato leggibile da umano.

$ df -Th
Check Linux Disk Usage

5. Visualizzare le informazioni sull’CPU

Per visualizzare informazioni sull’CPU, come l’ID del fornitore, i core del processore, il nome del modello e molto altro, eseguite il comando:

$ cat /proc/cpuinfo
Check Linux Cpu Info

Automatizzare le attività di amministrazione del sistema

La pianificazione di compiti o job da svolgersi in un momento predefinito è una delle capacità fondamentali che ogni amministratore di sistemi dovrebbe possedere. Magari volete pianificare attività amministrative che devono avvenire regolarmente, come i backup e i riavvii periodici.

Cron è un programma per pianificare gli intervalli di tempo che aiuta ad automatizzare i compiti. La facoltà cron comprende il demone cron e una serie di tabelle da cui legge la sua configurazione, denominate crontab. La crontab descrive i compiti da eseguire.

Per creare un compito cron, dobbiamo prima capire la sua architettura. Un compito cron è costituito da cinque campi, seguiti dal comando o script da eseguire. Ecco una rappresentazione grafica dei vari campi di un compito cron.

Cron Architecture

Ora esploriamo alcuni esempi di cron e le loro interpretazioni:

0	12	*	*	*   <command>   Executes a task daily  at noon
30	06	*	*	*   <command>   Executes a task daily  at 6:30 am 
30      *	*	*	*   <command>   Executes a task  every 30 minutes
0	0	*	*	*   <command>   Executes a task  at midnight 
30	06	*	* 	5   <command>  Executes a task at 6:30 am every Fri
*	* 	*	* 	*   <command>  Executes a task every minute
0	0	1	* 	*   <command>  Executes a task at midnight on the first day of every month
0	3 	*	* 	Mon-fri   <command> Executes a task at 3:00am on every day of the week from Monday to Friday.

Ora creiamo un compito cron.

Prima di tutto, creareamo uno script di backup che copieremo il nostro cartello Downloads in /home/tecmint/Downloads nel directory /home/documents.

Utilizzeremo l’editor vim per creare e aprire il file script come illustrato.

$ vim backup.sh

Inizieremo con un header shebang in cima per marcare l’inizio dello script della shell

#!/bin/bash

Il comando per la copia del backup delle directory è mostrato qui sotto.

tar -cvf /home/tecmint/Documents/downloads.tar.gz /home/tecmint/Downloads
File Backup Script

Il primo percorso rappresenta il percorso completo del file di backup che è downloads.tar.gz, mentre il secondo percorso indica il percorso del directory da salvare.

Salvate il file premendo ESC poi digitare :wq e premendo ENTER.

Successivamente, assegnate i permessi di esecuzione allo script di backup. È necessario farlo affinché l’utilità cron possa eseguire lo script.

$ chmod +x backup.sh

Per creare un posto cron per eseguire lo script, eseguite il seguente comando:

$ crontab -e

Definirete il posto cron per eseguire lo script di backup ogni giorno alle 14:30 come segue

30 14 * * * /home/tecmint/backup.sh
Create Cron Job in Linux

Salvate il file premendo ESC poi digitare :wq e premendo ENTER. Una volta usciti dal file, riceverete un prompt crontab: installing a new crontab implicando che il posto cron è stato inizializzato.

Cron Job Added Succesfully

Per elencare i attuali posti cron eseguite il comando:

$ crontab -l
List Cron Jobs

Quindi, per la nostra task di backup, il posto cron ha creato con successo un file compresso del directory ‘Downloads’ nel directory ‘Documents’ appena la tastiera è scattata alle 14:30 HRS.

$ ls Documents/
Verify Backup

Se non desideri più un lavoro cron, puoi cancellarlo utilizzando il comando:

$ crontab -r
Conclusione

Ci sono diverse altre attività che gli amministratori di sistema svolgono quotidianamente, come l’inventario e molto altro.

Source:
https://www.tecmint.com/monitor-basic-system-metrics-in-linux/