LFCA: Cómo monitorear métricas básicas del sistema en Linux – Parte 8

Este artículo es Parte 8 de la serie LFCA, aquí en esta parte, te familiarizarás con los comandos generales de administración del sistema para monitorear métricas básicas del sistema y programar tareas administrativas en el sistema Linux.

Mantener un seguimiento del rendimiento de tu sistema es uno de los roles cruciales que tendrás que asumir como administrador de sistemas. Claro, hay suficientes herramientas de monitoreo de código abierto como Grafana y Nagios para monitorear métricas del sistema.

Afortunadamente, Linux proporciona algunas utilidades de línea de comandos que te permiten echar un vistazo a algunas de las estadísticas e información vital del sistema, como la utilización de CPU y memoria y los procesos en ejecución.

Vamos a echar un breve vistazo a algunas de las herramientas de línea de comandos que pueden ayudarte a monitorear métricas básicas del sistema:

1. Comando uptime

El comando uptime proporciona la duración que el sistema ha estado en funcionamiento desde que se encendió. Sin opciones de comando, proporciona la hora actual, el tiempo que el sistema ha estado en funcionamiento, los usuarios conectados y el promedio de carga.

$ uptime

Con la opción -s, obtienes la fecha del sistema y la hora en que se encendió el sistema.

$ uptime -s

Usa la opción -p para obtener solo el tiempo de actividad

$ uptime -p
Check Linux System Uptime

2. Comando free

Para obtener una visión general de la memoria total y disponible, así como del espacio de intercambio en tu sistema, utiliza el comando free de la siguiente manera. La opción -h imprime la salida en un formato legible para humanos.

$ free -h
Check Linux Memory Usage

3. Comando top

El comando top realiza dos funciones: proporciona un resumen de las métricas del sistema en tiempo real y muestra los procesos en ejecución actualmente que son gestionados por el kernel de Linux.

Además de mostrar los procesos en ejecución, el comando top combina la salida proporcionada por los comandos uptime y free, que se encuentran en la parte superior.

$ top
Check Linux Running Processes

Una mejora del comando top es la utilidad htop, que muestra las estadísticas en un formato intuitivo y legible para humanos.

En Linux, puedes instalar htop usando el comando:

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

Para iniciar htop, simplemente ejecuta el comando:

$ htop
htop – an interactive process viewer

4. Comando df

Hemos discutido anteriormente la utilidad df (disk-free) en comandos básicos de Linux. El comando df proporciona información sobre la utilización del disco duro por sistema de archivos. Usa la bandera -Th para imprimir información en un formato legible para humanos.

$ df -Th
Check Linux Disk Usage

5. Ver Información de la CPU

Para ver información de la CPU como el identificador del proveedor, núcleos del procesador, nombre del modelo y mucho más, ejecuta el comando:

$ cat /proc/cpuinfo
Check Linux Cpu Info

Automatizar Tareas de Administración del Sistema

Programar tareas o trabajos para que ocurran en un momento predefinido es una de las habilidades fundamentales que cualquier administrador de sistemas debería tener. Puede que desees programar tareas administrativas que necesiten suceder regularmente como copias de seguridad y reinicios periódicos.

Cron es un planificador de tiempo que ayuda a automatizar tareas. La facilidad de cron comprende el demonio cron y un conjunto de tablas desde las cuales lee su configuración llamada crontab. El crontab describe las tareas a ejecutar.

Para crear un trabajo cron, primero debemos entender su arquitectura. Un trabajo cron consiste en cinco campos seguidos del comando o script a ejecutar. Aquí tienes una representación diagramática de los distintos campos de un trabajo cron.

Cron Architecture

Ahora exploremos algunos ejemplos de cron y sus interpretaciones:

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.

Ahora creemos un trabajo cron.

Primero, vamos a crear un script de respaldo que respalde nuestra carpeta de Descargas en el directorio /home/tecmint/Downloads al directorio /home/documents.

Usando el editor vim, crearemos y abriremos el archivo de script como se muestra.

$ vim backup.sh

Comenzaremos con un encabezado shebang en la parte superior para marcar el inicio del script de shell

#!/bin/bash

El comando para respaldar la carpeta de directorios se muestra a continuación.

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

El primer camino representa la ruta completa al archivo de respaldo que es downloads.tar.gz, mientras que el segundo camino apunta a la ruta del directorio que se va a respaldar.

Guarde el archivo presionando ESC luego escriba :wq y presione ENTER.

A continuación, asigne permisos de ejecución al script de respaldo. Esto es necesario para que la utilidad cron pueda ejecutar el script.

$ chmod +x backup.sh

Para crear un trabajo cron para ejecutar el script, ejecute el siguiente comando:

$ crontab -e

Definiremos el trabajo cron para ejecutar el script de respaldo todos los días a las 14:30 HRS de la siguiente manera

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

Guarde el archivo presionando ESC luego escriba :wq y presione ENTER. Una vez que salga del archivo, obtendrá un mensaje crontab: instalando un nuevo crontab lo que implica que el trabajo cron ha sido inicializado.

Cron Job Added Succesfully

Para listar los trabajos cron actuales, ejecute el comando:

$ crontab -l
List Cron Jobs

Entonces, para nuestra tarea de respaldo, el trabajo cron creó con éxito un archivo comprimido del directorio ‘Downloads’ en el directorio ‘Documents’ una vez que el reloj marcó las 14:30 HRS.

$ ls Documents/
Verify Backup

Si ya no deseas un trabajo cron, puedes eliminarlo usando el comando:

$ crontab -r
Conclusión

Hay varias otras tareas que los administradores de sistemas realizan a diario, como el inventario y mucho más.

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