mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2026-11-02 20:30:15 -06:00
97 lines
3.1 KiB
Markdown
97 lines
3.1 KiB
Markdown
# Componentes de software de LibreQoS
|
|
|
|
## Servicios systemd
|
|
|
|
```{mermaid}
|
|
flowchart LR
|
|
A[Integraciones CRM/NMS] --> B[lqos_scheduler]
|
|
C[network.json + ShapedDevices.csv] --> B
|
|
D[lqos_overrides.json] --> B
|
|
B --> E[Refresco del plan de colas/shaping]
|
|
E --> F[lqosd]
|
|
F --> G[Shaping runtime XDP/TC]
|
|
F --> H[Servicio WebUI :9123]
|
|
J[HTTPS opcional con Caddy :443] --> H
|
|
B --> I[Estado del scheduler / problemas urgentes]
|
|
F --> I
|
|
```
|
|
|
|
### lqosd
|
|
|
|
- Administra la lógica de shaping/XDP.
|
|
- Implementado en Rust.
|
|
- Ejecuta la UI local disponible en `http://a.b.c.d:9123` por defecto.
|
|
- Si HTTPS opcional está habilitado, Caddy publica `https://hostname/` o `https://ip-de-gestión/` y proxya la WebUI hacia `127.0.0.1:9123`.
|
|
- Hospeda páginas de WebUI (Node Manager) como:
|
|
- Site Map
|
|
- Flow Globe
|
|
- Árbol de red
|
|
- ASN Analysis
|
|
- Árbol/Pesos de CPU
|
|
- Editores de configuración para integraciones (UISP, Splynx, Netzur, VISP, etc.)
|
|
|
|
### lqos_scheduler
|
|
|
|
- Realiza refrescos continuos de shaping, incluyendo lectura de integraciones CRM habilitadas.
|
|
- Acciones:
|
|
- Al iniciar: ejecución de setup completo de colas.
|
|
- Cada X minutos: actualización de colas y datos de integración.
|
|
- El intervalo por defecto es 30 minutos (`queue_refresh_interval_mins` en `/etc/lqos.conf`).
|
|
|
|
### Verificación de estado
|
|
|
|
```bash
|
|
sudo systemctl status lqosd lqos_scheduler
|
|
```
|
|
|
|
Si algún servicio aparece como `failed`, revise logs:
|
|
|
|
```bash
|
|
sudo journalctl -u lqosd -b
|
|
sudo journalctl -u lqos_scheduler -b
|
|
```
|
|
|
|
### Depuración de lqos_scheduler
|
|
|
|
`lqos_scheduler` ejecuta `scheduler.py`, que a su vez invoca `LibreQoS.py`. En instalaciones empaquetadas, Python se ejecuta desde el entorno virtual propiedad de root en `/opt/libreqos/venv`.
|
|
|
|
Flujo de depuración recomendado:
|
|
|
|
```bash
|
|
sudo systemctl stop lqos_scheduler
|
|
cd /opt/libreqos/src
|
|
sudo /opt/libreqos/venv/bin/python /opt/libreqos/src/LibreQoS.py --debug
|
|
sudo /opt/libreqos/venv/bin/python /opt/libreqos/src/scheduler.py
|
|
sudo systemctl start lqos_scheduler
|
|
```
|
|
|
|
## Modo privacidad en WebUI
|
|
|
|
WebUI (Node Manager) incluye redacción del lado cliente para demos/capturas:
|
|
|
|
- Se activa con el ícono de máscara en la barra superior.
|
|
- La preferencia se guarda en `localStorage`.
|
|
- Oculta datos visibles en la UI; no modifica archivos fuente.
|
|
|
|
## Canal de problemas urgentes
|
|
|
|
WebUI (Node Manager) incluye un canal de problemas urgentes para eventos de alta prioridad (por ejemplo, límite de circuitos mapeados).
|
|
|
|
- Los eventos aparecen en el indicador de navegación superior.
|
|
- Pueden revisarse y reconocerse desde el modal de problemas urgentes.
|
|
- Úselo como señal rápida; confirme detalle con `journalctl -u lqosd`.
|
|
|
|
## Indicador de estado del scheduler
|
|
|
|
WebUI (Node Manager) incluye visibilidad del estado del scheduler.
|
|
|
|
- Úselo como señal rápida de salud para jobs periódicos.
|
|
- Si el scheduler no está saludable, valide primero estado de `lqosd` y `lqos_scheduler`.
|
|
- Revise detalle con:
|
|
- `journalctl -u lqos_scheduler --since "30 minutes ago"`
|
|
- `journalctl -u lqosd --since "30 minutes ago"`
|
|
|
|
## Solución de problemas de componentes
|
|
|
|
Consulte [Solución de Problemas](troubleshooting-es.md).
|