feat: Implementación completa Fase 4 - Sistema de monitoreo con API REST y WebSocket

 Nuevas funcionalidades:
- API REST unificada en puerto 8080 (eliminado CORS)
- WebSocket para logs en tiempo real desde journalctl
- Integración completa con systemd para gestión de servicios
- Escaneo automático de procesos Node.js y Python
- Rate limiting (1 operación/segundo por app)
- Interface web moderna con Tailwind CSS (tema oscuro)
- Documentación API estilo Swagger completamente en español

🎨 Interface Web (todas las páginas en español):
- Dashboard con estadísticas en tiempo real
- Visor de escaneo de procesos con filtros
- Formulario de registro de aplicaciones con variables de entorno
- Visor de logs en tiempo real con WebSocket y sidebar
- Página de selección de apps detectadas
- Documentación completa de API REST

🏗️ Arquitectura:
- Módulo models: ServiceConfig, ManagedApp, AppStatus
- Módulo systemd: wrapper de systemctl, generador de .service, parser
- Módulo orchestrator: AppManager, LifecycleManager con validaciones
- Módulo api: handlers REST, WebSocket manager, DTOs
- Servidor unificado en puerto 8080 (Web + API + WS)

🔧 Mejoras técnicas:
- Eliminación de CORS mediante servidor unificado
- Separación clara frontend/backend con carga dinámica
- Thread-safe con Arc<DashMap> para estado compartido
- Reconciliación de estados: sysinfo vs systemd
- Validaciones de paths, usuarios y configuraciones
- Manejo robusto de errores con thiserror

📝 Documentación:
- README.md actualizado con arquitectura completa
- EJEMPLOS.md con casos de uso detallados
- ESTADO_PROYECTO.md con progreso de Fase 4
- API docs interactiva en /api-docs
- Script de despliegue mejorado con health checks

🚀 Producción:
- Deployment script con validaciones
- Health checks y rollback capability
- Configuración de sudoers para systemctl
- Hardening de seguridad en servicios systemd
This commit is contained in:
2026-01-13 08:24:13 -05:00
parent 3595e55a1e
commit b0489739cf
33 changed files with 6893 additions and 1261 deletions

View File

@@ -2,3 +2,118 @@
[2026-01-11 22:08:35] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-11 22:08:35] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-11 22:08:35] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-11 23:55:03] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-11 23:55:03] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-11 23:55:03] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 00:11:01] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 00:11:01] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 00:11:01] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 00:11:01] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 00:32:22] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 00:32:22] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 00:32:22] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 00:32:22] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 00:35:04] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 00:35:04] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 00:35:04] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 00:35:04] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 00:37:57] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 00:37:57] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 00:37:57] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 00:37:57] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 00:49:41] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 00:49:41] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 00:49:41] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 00:49:41] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 00:54:54] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 00:54:54] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 00:54:54] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 00:54:54] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 00:58:57] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 00:58:57] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 00:58:57] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 00:58:57] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 01:03:35] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 01:03:35] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 01:03:35] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 01:03:35] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 01:06:44] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 01:06:44] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 01:06:44] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 01:06:44] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 01:07:00] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 01:07:00] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 01:07:00] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 01:07:00] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 01:13:37] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 01:13:37] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 01:13:37] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 01:13:37] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 01:22:57] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 01:22:57] [INFO] [Sistema] Sistema SIAX completamente operativo
[2026-01-13 01:22:57] [INFO] [Sistema] API REST iniciada en puerto 8081
[2026-01-13 01:22:57] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:28:30] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:28:30] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:28:30] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:28:30] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:31:05] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:31:05] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:31:05] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:31:05] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:32:04] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:32:04] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:32:04] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:32:04] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:32:28] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:32:28] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:32:28] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:32:28] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:32:32] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:32:32] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:32:32] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:32:32] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:34:25] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:34:25] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:34:25] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:34:25] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:41:45] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:41:45] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:41:45] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:41:45] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:46:52] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:46:52] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:46:52] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:46:52] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:49:28] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:49:28] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:49:28] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:49:28] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:52:21] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:52:21] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:52:21] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:52:22] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:53:46] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:53:46] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:53:46] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:53:46] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:55:01] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:55:01] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:55:01] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:55:01] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 07:57:35] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 07:57:35] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 07:57:35] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 07:57:35] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 08:00:27] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 08:00:27] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 08:00:27] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 08:00:27] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 08:09:19] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 08:09:19] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 08:09:19] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 08:09:19] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]
[2026-01-13 08:16:16] [INFO] [Sistema] Iniciando SIAX Agent
[2026-01-13 08:16:16] [INFO] [Sistema] Iniciando servidor unificado en puerto 8080
[2026-01-13 08:16:16] [INFO] [Sistema] Sistema SIAX completamente operativo en puerto 8080
[2026-01-13 08:16:16] [INFO] [Monitor] Vigilando procesos para siax-intel [SIAX-Agent/0.1.0 (linux/x86_64; Rust-Monitor)]