Document ADN-report-proxy so adn-server 2.x can feed v1 legacy monitors, and sync EN/ES MkDocs with DATABASE, dynamic TGs, monitoring, and related topics.pull/5/head
parent
0401991029
commit
b2c7e1eb50
@ -0,0 +1,100 @@
|
||||
# Proxy de informes (paneles legacy)
|
||||
|
||||
**ADN DMR Peer Server 2.x** emite **informe wire v2** (JSON por TCP). **adn-monitor 2.x** entiende ese protocolo y se conecta **directamente** al servidor — no hace falta ningún componente extra.
|
||||
|
||||
Algunos **stacks de panel legacy** siguen trayendo su propio backend `dashboard.py` / `monitor.py` y solo hablan **informe wire v1** (pickle `CONFIG_SND` / `BRIDGE_SND`, CSV `BRDG_EVENT`). Esos monitores **no pueden** conectarse a **adn-server 2.x** en el puerto de informes.
|
||||
|
||||
El paquete opcional **[ADN-report-proxy](https://github.com/ce5rpy/ADN-report-proxy)** queda en medio: se conecta **upstream** al servidor real (v2), escucha **downstream** donde el monitor legacy espera el servidor (v1) y traduce **v2 → v1**.
|
||||
|
||||
| Stack | Servidor upstream | ¿Funciona sin proxy? |
|
||||
|-------|-------------------|----------------------|
|
||||
| **adn-monitor 2.x** (React) | **adn-server 2.x** | Sí — conectar a `REPORTS.REPORT_PORT` |
|
||||
| Panel legacy + monitor incluido (v1) | **adn-dmr-server** (v1) | Sí — directo al puerto de informes del servidor |
|
||||
| Panel legacy + monitor incluido (v1) | **adn-server 2.x** (v2) | **No** — usar **report-proxy** |
|
||||
|
||||
Objetivos legacy típicos: forks antiguos de **ADN-Dashboard**, despliegues **HBMonitor** / **FDMR Monitor** que aún ejecutan un proceso monitor Python contra `dashboard.cfg` / `monitor.cfg`.
|
||||
|
||||
## Topología
|
||||
|
||||
```text
|
||||
┌───────────────────┐
|
||||
│ adn-server │
|
||||
│ ESCUCHA :4321 │
|
||||
└─────────▲─────────┘
|
||||
│
|
||||
│ TCP v2 JSON
|
||||
│ (report-proxy es CLIENTE)
|
||||
│
|
||||
┌─────────┴─────────┐
|
||||
│ report-proxy │
|
||||
│ ESCUCHA :4322 │
|
||||
└─────────▲─────────┘
|
||||
│
|
||||
│ TCP v1 pickle
|
||||
│ (panel legacy es CLIENTE)
|
||||
│
|
||||
┌─────────┴─────────┐
|
||||
│ panel legacy │
|
||||
│ monitor.py │
|
||||
└───────────────────┘
|
||||
```
|
||||
|
||||
| Componente | Rol | Puerto por defecto | Config | Clave |
|
||||
|------------|-----|-------------------|--------|-------|
|
||||
| **adn-server** | Escucha clientes de informes | **4321** | `adn-server.yaml` | `REPORTS.REPORT_PORT` |
|
||||
| **report-proxy** | Se conecta al servidor | 4321 | `report-proxy.yaml` | `UPSTREAM.PORT` |
|
||||
| **report-proxy** | Escucha al monitor legacy | **4322** | `report-proxy.yaml` | `LISTEN.PORT` |
|
||||
| **Panel legacy** | Se conecta al proxy | **4322** | `dashboard.cfg` | `SERVER_PORT` |
|
||||
|
||||
**No** apuntes el panel legacy al **4321** — es el puerto v2 del servidor.
|
||||
|
||||
**No** pongas `UPSTREAM.PORT` en **4322** — es el puerto de escucha del propio proxy.
|
||||
|
||||
## Lado servidor (`adn-server.yaml`)
|
||||
|
||||
Los informes deben estar activos y la **IP del host del proxy** debe estar en la lista permitida:
|
||||
|
||||
```yaml
|
||||
REPORTS:
|
||||
REPORT: true
|
||||
REPORT_INTERVAL: 60
|
||||
REPORT_PORT: 4321
|
||||
REPORT_CLIENTS: "127.0.0.1" # IP de la máquina donde corre report-proxy
|
||||
```
|
||||
|
||||
Si el proxy corre en otro host, usa la **IP de ese host** en `REPORT_CLIENTS`, no solo `127.0.0.1`. Ver [Configuración](configuration.md#reports) para todas las claves de `REPORTS`.
|
||||
|
||||
## Proxy y panel legacy
|
||||
|
||||
Instala y ejecuta el proxy desde el repositorio **[ADN-report-proxy](https://github.com/ce5rpy/ADN-report-proxy)** (`report-proxy.yaml`, `python3 report-proxy.py -c report-proxy.yaml`). Apunta `UPSTREAM` al `REPORT_PORT` del servidor y `LISTEN` al puerto que usa el monitor legacy (a menudo **4322**).
|
||||
|
||||
En `dashboard.cfg` / `monitor.cfg` legacy:
|
||||
|
||||
```ini
|
||||
[SERVER CONNECTION]
|
||||
SERVER_IP = 127.0.0.1
|
||||
SERVER_PORT = 4322
|
||||
```
|
||||
|
||||
`SERVER_IP` es el host donde **report-proxy** escucha, no necesariamente el host de adn-server.
|
||||
|
||||
**Orden de arranque:** adn-server → report-proxy → backend monitor legacy.
|
||||
|
||||
Pasos completos, ejemplos multi-host, comprobaciones y errores frecuentes: **[README de ADN-report-proxy](https://github.com/ce5rpy/ADN-report-proxy#configuration-legacy-dashboard--adn-server-2x)**.
|
||||
|
||||
## Traducción de wire (resumen)
|
||||
|
||||
| Upstream (v2 desde adn-server) | Downstream (v1 al monitor legacy) |
|
||||
|--------------------------------|-----------------------------------|
|
||||
| `HELLO` (`report_protocol: 2`) | `HELLO` (`protocol: 1`) |
|
||||
| `STATE_SND` / `dashboard_state` | `CONFIG_SND` (pickle) |
|
||||
| `ROUTING_TABLE_SND` | `BRIDGE_SND` (pickle) |
|
||||
| `TOPOLOGY_SND` | `CONFIG_SND` (pickle) |
|
||||
| `VOICE_EVENT_SND` | `BRDG_EVENT` (CSV) |
|
||||
|
||||
Detalle del esquema v2: [Protocolo de informes v2 (JSON)](../protocols/report-v2.md).
|
||||
|
||||
## Ver también
|
||||
|
||||
- [Monitor e informes](monitoring.md) — canal de informes, emparejamiento con **adn-monitor**, líneas de log.
|
||||
- [Descripción general de ADN Monitor](../../monitor/index.md) — panel recomendado para **adn-server 2.x** (sin proxy).
|
||||
Loading…
Reference in new issue