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.
ADN-DMR-Peer-Server/docs/en/monitor/index.md

2.8 KiB

ADN Monitor (overview)

ADN Monitor is a separate project from the ADN DMR Peer Server, but the two are normally deployed together: the server sends TCP reports (config, bridges, call events) to the monitor; the monitor drives the web dashboard (React) and WebSocket live updates. Optional components include the PHP API (Slim), MySQL (self-service / device registry), and the hotspot proxy (UDP between hotspots and the peer server).

This chapter documents the adn-monitor stack at the same level of detail as the server guides. Source code lives in the adn-monitor repository, not in the adn-server repository (where this documentation is maintained).

What each part does

Part Role
monitor/monitor.py Python (Twisted): connects to the peer server’s report TCP port, decodes netstring payloads (CONFIG_SND, BRIDGE_SND, BRDG_EVENT), maintains CTABLE / BTABLE, writes Last Heard / TG stats to MySQL when configured, serves WebSocket JSON to the dashboard.
backend/ PHP Slim app: /api/config/dashboard, auth, optional self-service APIs, alias proxies. Reads the same adn-mon.yaml via ADN_CONFIG_PATH.
frontend/ React (Vite): dashboard UI; consumes backend API + WebSocket.
proxy/ Python (Twisted): UDP hotspot proxy; forwards Homebrew between hotspots and the peer server; reads Clients in MySQL for RPTO options (self-service).

Single configuration file

adn-mon.yaml (path often set with ADN_CONFIG_PATH in .env) is shared by:

  • Python monitor (monitor.py)
  • PHP backend (backend/public/index.php)
  • Hotspot proxy (proxy/proxy.py)

So one YAML drives reporting addresses, dashboard strings, WebSocket port, SELF_SERVICE DB credentials, and PROXY listen/range settings.

Server (adn-server.yaml) Monitor (adn-mon.yaml)
REPORTS.REPORT_CLIENTS — list of IPs allowed to connect to the report listener, or the monitor host ADN_CONNECTION.ADN_IP / ADN_PORT — where the monitor connects (must match the server’s report bind and port).
REPORTS.REPORT_PORT — TCP port the server listens on for incoming report connections Same port as ADN_PORT.

See Monitoring and reports for report opcodes and Monitor configuration for every adn-mon.yaml section.

See also

Powered by TurnKey Linux.