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

3.5 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 — integrated in adn-server.py by default; standalone adn-proxy remains for legacy layouts).

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 adn-monitor.yaml via ADN_CONFIG_PATH.
frontend/ React (Vite): dashboard UI; consumes backend API + WebSocket.
proxy/ Python (Twisted): standalone UDP hotspot proxy (legacy); forwards Homebrew between hotspots and the peer server port range; reads Clients in MySQL for RPTO. Prefer integrated PROXY in adn-server.yaml — see Hotspot proxy.

Configuration files

File Used by Typical env
adn-server.yaml adn-server.py (integrated PROXY / SELF_SERVICE) -c / default path next to binary
monitor/adn-monitor.yaml monitor.py, PHP backend ADN_CONFIG_PATH
proxy/adn-proxy.yaml proxy/proxy.py (legacy standalone) ADN_PROXY_CONFIG_PATH (optional; see Hotspot proxy)

SELF_SERVICE (MySQL / PBKDF2) must match between adn-server.yaml (integrated proxy), adn-monitor.yaml, and legacy adn-proxy.yaml when used. ADN_CONNECTION, dashboard, WebSocket, and aliases live in adn-monitor.yaml; integrated PROXY / SELF_SERVICE live in adn-server.yaml; standalone proxy settings remain in adn-proxy.yaml.

Server (adn-server.yaml) Monitor (adn-monitor.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-monitor.yaml section.

See also

Powered by TurnKey Linux.