feat: Sistema de monitoreo base con logging y configuración dinámica

- Implementado monitor de procesos Node.js con detección automática
- Sistema de logging con niveles (Info, Warning, Error, Critical)
- ConfigManager para gestión dinámica de apps monitoreadas
- Interfaz web básica con escaneo de procesos
- Integración con API central para reportar estados
- User-Agent tracking para identificación de agentes
- Persistencia de configuración en JSON
- Logs almacenados en archivo con rotación
- Sistema modular: monitor, interface, logger, config

Estructura:
- src/main.rs: Orquestador principal
- src/monitor.rs: Monitoreo de procesos y envío a API
- src/interface.rs: Servidor web Axum con endpoints
- src/logger.rs: Sistema de logging a archivo y consola
- src/config.rs: Gestión de configuración persistente
- web/: Templates HTML para interfaz web
- config/: Configuración de apps monitoreadas
- logs/: Archivos de log del sistema

Features implementadas:
 Detección automática de procesos Node.js
 Monitoreo de CPU y RAM por proceso
 Reportes periódicos a API central (cada 60s)
 Interfaz web en puerto 8080
 Logs estructurados con timestamps
 Configuración dinámica sin reinicio
 Script de despliegue automatizado

Próximos pasos:
- Integración con systemd para control de procesos
- Dashboard mejorado con cards de apps
- Logs en tiempo real vía WebSocket
- Start/Stop/Restart de aplicaciones
This commit is contained in:
2026-01-11 23:14:09 -05:00
parent bc1953fce1
commit 3595e55a1e
20 changed files with 3465 additions and 0 deletions

58
web/success.html Normal file
View File

@@ -0,0 +1,58 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="3;url=/select">
<title>Proceso Agregado - SIAX</title>
<style>
body {
background: #0f172a;
color: white;
font-family: sans-serif;
padding: 40px;
text-align: center;
}
.success {
background: #064e3b;
border: 2px solid #22c55e;
padding: 40px;
border-radius: 16px;
max-width: 500px;
margin: 100px auto;
}
h1 {
color: #22c55e;
margin-bottom: 20px;
}
.details {
background: #0f172a;
padding: 20px;
border-radius: 8px;
margin-top: 20px;
text-align: left;
}
.label {
color: #60a5fa;
font-weight: bold;
}
.redirect-msg {
color: #94a3b8;
margin-top: 30px;
font-size: 14px;
}
</style>
</head>
<body>
<div class="success">
<h1>✅ Proceso Agregado Exitosamente</h1>
<p style="color:#94a3b8;">El proceso será monitoreado en el próximo ciclo</p>
<div class="details">
<p><span class="label">Aplicación:</span> {{APP_NAME}}</p>
<p><span class="label">Puerto:</span> {{PORT}}</p>
</div>
<p class="redirect-msg">Redirigiendo en 3 segundos...</p>
</div>
</body>
</html>