Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HealthWatch — Linux Server Monitoring

Sistema ligero de monitorización para servidores Linux. Bash recoge métricas del sistema, Python las analiza, JSON conecta ambos procesos y cron permite automatizar su ejecución.

Bash · Python · JSON · Cron · Linux · VPS

Funcionalidades

  • Recoge uso de disco, RAM disponible, carga media y número de núcleos.
  • Compara las métricas con umbrales configurables y muestra alertas.
  • Conserva un historial local de las mediciones.
  • Funciona desde cualquier ubicación del sistema, sin rutas personales incrustadas.
  • Puede ejecutarse automáticamente mediante cron.

Arquitectura

scriptBash/recolector.sh  ──►  data.json  ──►  scriptPython/analizar.py
       recoge métricas          puente             analiza y guarda
                                                        │
                                                        ▼
                                                historial.json

data.json, historial.json y cron.log son datos locales de ejecución y no se versionan. data.example.json documenta el formato sin publicar información real del servidor.

Requisitos

  • Linux con bash, df, free, uptime y nproc.
  • Python 3.9 o posterior.

Uso

chmod +x scriptBash/recolector.sh
python3 scriptPython/analizar.py

Los archivos generados se guardan en la raíz del proyecto. Los umbrales se configuran al principio de scriptPython/analizar.py.

Automatización con cron

Ejemplo para ejecutar HealthWatch cada cinco minutos:

*/5 * * * * /usr/bin/python3 /ruta/absoluta/healthwatch/scriptPython/analizar.py >> /ruta/absoluta/healthwatch/cron.log 2>&1

Usa rutas absolutas en la entrada de cron. Los scripts resuelven internamente la raíz del proyecto.

Entorno de despliegue

HealthWatch está pensado para ejecutarse en un VPS Linux utilizado como entorno práctico de administración de sistemas. En el mismo servidor está desplegada Calmä, una web estática empaquetada en una imagen Docker basada en Nginx.

Proyecto relacionado: Calmä — Dockerized Static Web Deployment :

Seguridad y privacidad

  • No publiques los archivos de ejecución ignorados por Git.
  • No incluyas IP, usuarios, rutas personales, webhooks, tokens ni credenciales.
  • Revisa el historial de Git antes de hacer público el repositorio: .gitignore evita nuevos commits, pero no elimina secretos ya versionados.

Documentación

La explicación técnica detallada está en doc/DOCUMENTACION.md.

Próximas mejoras

  • Notificaciones cuando una métrica cruce su umbral.
  • Rotación o almacenamiento eficiente del historial.
  • Más métricas y gráficas de evolución.
  • Pruebas automatizadas para el analizador.

About

Sistema ligero de monitorización para servidores Linux. Bash recoge métricas del sistema, Python las analiza, JSON conecta ambos procesos y cron permite automatizar su ejecución.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages