You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
4.8 KiB
101 lines
4.8 KiB
# 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).
|