151 lines
3.9 KiB
Markdown
151 lines
3.9 KiB
Markdown
# Monitor de Sistema Avanzado (Python/Tkinter)
|
|
|
|
Aplicación de escritorio multiplataforma para el monitoreo en tiempo
|
|
real de recursos del sistema (CPU, Memoria, Red, Disco), complementada
|
|
con funciones avanzadas como administración de procesos, alarmas
|
|
programables, web scraping y utilidades adicionales (Juego, Música,
|
|
Notas, Backup).
|
|
|
|
Desarrollada en **Python 3.x** usando **tkinter**, junto con librerías
|
|
especializadas como **psutil** y **matplotlib**.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
## Enlace al Video Explicativo
|
|
**En Drive**:
|
|
https://drive.google.com/file/d/1mqQ41Z2r3j3VkGJUgI2dmPMIH5i2lHNq/view?usp=sharing
|
|
|
|
**En YouTube:**
|
|
https://youtu.be/efW9_IRp9UY
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
|
## ✨ Características Destacadas
|
|
|
|
- **Gráficos en Tiempo Real:** CPU (total y cores), memoria, disco y
|
|
red.
|
|
- **Gestión de Procesos:** Vista detallada, con opción de finalización
|
|
segura en segundo plano.
|
|
- **Alarmas Inteligentes:** Por hora o por umbrales de recursos (ej.
|
|
alerta por CPU \> 90%).
|
|
- **Web Scraping Integrado:** Extracción por selectores CSS usando
|
|
*requests* + *BeautifulSoup*.
|
|
- **Utilidades Extra:**
|
|
- Reproductor de audio (pygame)
|
|
- Bloc de Notas
|
|
- Juego "Carrera de Camellos"
|
|
- Sistema de Backup automático
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
## 🖼️ Captura de Pantalla
|
|
|
|

|
|
|
|
------------------------------------------------------------------------
|
|
|
|
## ⚙️ Instalación y Requisitos
|
|
|
|
### 1. Requisitos del Sistema
|
|
|
|
- Python **3.8+**
|
|
- Git
|
|
- Compatible con **Windows**, **macOS** y **Linux**
|
|
|
|
### 2. Clonar el Repositorio
|
|
|
|
``` bash
|
|
git clone https://git.ieslamar.org/luka/ProyectoPHP
|
|
```
|
|
|
|
### 3. Instalar Dependencias
|
|
|
|
``` bash
|
|
pip install psutil matplotlib numpy pygame requests beautifulsoup4
|
|
```
|
|
|
|
**Librería \| Propósito** - `psutil` -- Métricas del sistema (CPU, RAM,
|
|
Procesos...) - `matplotlib` + `numpy` -- Renderizado de gráficos en
|
|
tiempo real - `pygame` -- Música y sonidos de alarma - `requests` +
|
|
`bs4` -- Web Scraping por selectores CSS
|
|
|
|
### 4. Ejecutar la Aplicación
|
|
|
|
``` bash
|
|
python proyecto.py
|
|
```
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
## 📁 Estructura del Proyecto
|
|
|
|
### `proyecto.py`
|
|
|
|
- Punto de entrada de la aplicación.
|
|
- Inicializa la ventana (`tk.Tk()`) y construye la UI mediante
|
|
`ui_layout.crear_ui_completa(root)`.
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
### `config.py`
|
|
|
|
Incluye: - Rutas importantes\
|
|
- Buffers de datos\
|
|
- Flags de control\
|
|
- Widgets compartidos
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
### `ui_layout.py`
|
|
|
|
Construye: - Menú superior\
|
|
- Panel lateral\
|
|
- Área de gráficos\
|
|
- Pestañas funcionales
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
### `monitor_manager.py`
|
|
|
|
Función Descripción
|
|
------------------------------ ------------------------------------
|
|
`actualizar_resumen_lateral` Datos generales + recursos rápidos
|
|
`actualizar_datos_graficos` Obtiene métricas desde psutil
|
|
`actualizar_graficos` Renderiza de nuevo los gráficos
|
|
`guardar_registro_csv` Escribe métricas en archivo CSV
|
|
`mostrar_procesos` Lista los procesos activos
|
|
`terminar_proceso` Finaliza procesos de forma segura
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
### `system_utils.py`
|
|
|
|
Incluye:
|
|
|
|
#### Registro
|
|
|
|
- `log_event`\
|
|
- `bytes_a_human_readable`
|
|
|
|
#### Alarmas
|
|
|
|
- `cargar_alarmas` / `guardar_alarmas`
|
|
- `comprobar_alarmas`
|
|
|
|
#### Web Scraping
|
|
|
|
- `iniciar_scraping`
|
|
- `scraping_logica_web`
|
|
|
|
#### Música
|
|
|
|
- `reproducir_mp3`
|
|
- `detener_mp3`
|
|
- `ajustar_volumen_mp3`
|
|
|
|
#### Extras
|
|
|
|
- Juego "Carrera de Camellos"
|
|
- Bloc de Notas
|
|
- Sistema de Backup (`backup_script.sh`) |