Desarrollo de un Kit de Herramientas de Operaciones Automatizadas

En este proyecto práctico, desarrollará un conjunto de herramientas de automatización como parte de un equipo de Eficiencia de Plataforma. Practicará flujos de trabajo profesionales de Git, scripting Bash para monitoreo de sistemas, procesamiento avanzado de registros con Awk y Sed, y programación de tareas con Cron.

DevOps EngineerDevOpsLinux

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

La automatización operativa útil es más que un script ejecutado una vez: debe versionarse, ser ejecutable, producir salida controlada y funcionar en un horario predecible. Este proyecto basado en desafíos te pide ensamblar esas piezas en un pequeño kit local de operaciones.

Establecerás un flujo Git, escribirás un monitor de salud en Bash, transformarás un log preparado con sed y awk e instalarás dos entradas Cron. Cada fase valida archivos, permisos, estado del repositorio, contenido del informe o sintaxis del crontab, sin proporcionar una solución comando por comando.

Lo que aprenderás

  • Inicializar un repositorio Git local, definir reglas de exclusión, trabajar en una rama develop y confirmar una base
  • Escribir un script Bash ejecutable que informe uso del sistema raíz y estado de Nginx con marcas temporales
  • Extraer el uso de disco con df y comprobar un servicio con systemctl, service o pgrep
  • Eliminar registros DEBUG, ocultar direcciones IPv4 y reformatear campos con sed y awk
  • Producir un procesador ejecutable y un informe limpio con el formato prescrito de tiempo, etiqueta y mensaje
  • Programar el monitor cada cinco minutos y el procesador a diario a las 02:00, redirigiendo sus errores a un archivo

A quién va dirigido este curso

Este proyecto está dirigido a estudiantes de Linux y DevOps preparados para combinar Git, Bash, procesamiento de texto y Cron sin comandos paso a paso.

Requisitos previos: Familiaridad con scripts shell, permisos ejecutables, fundamentos de Git, tuberías, sed, awk, comprobaciones de procesos o servicios y sintaxis crontab; es un proyecto de evaluación.

Entorno de aprendizaje: Un host Linux accesible desde el navegador con Bash, Git, Cron, estado de servicio Nginx, utilidades GNU/Linux y archivos preparados; no requiere alojamiento Git remoto ni nube.

Preguntas frecuentes

¿La fase Git envía código a GitHub u otro remoto?

No. Solo crea un repositorio local en /home/labex/ops-toolkit, añade reglas *.tmp y logs/, cambia a develop y registra al menos un commit base.

¿El monitor es un sistema completo de alertas?

No. monitor.sh imprime con fecha el uso del disco raíz y si Nginx está activo. No define umbrales, envía avisos, conserva métricas ni ofrece panel.

¿Qué formato espera el procesador de logs?

Usa registros preparados separados por espacios con fecha, hora, nivel, IPv4 y mensaje. Elimina DEBUG, sustituye IP por [REDACTED] y conserva YYYY-MM-DD HH:MM:SS [REDACTED] Message....

¿El desafío de programación espera a que se ejecuten los trabajos?

No. Verifica exactamente dos entradas: monitor.sh cada cinco minutos con stderr en monitor.err, y process_logs.sh cada día a las 02:00.

Profesor

labby
Labby
Labby is the LabEx teacher.