Skip to content
Dream Radius

Module · Reporting

Aggregated by cron. Not by waiting.

Dashboards, session reports and auth logs computed on schedule and served instantly — revenue, expiries, online counts and reseller performance without the 30-second query that times out at month end.

What it does

Built in, not bolted on.

Dashboard stats

Revenue, activations, expiries, online sessions — aggregated by cron into stats the dashboard reads in milliseconds.

Live sessions

Who is online right now, on which NAS, at what rate, since when — straight from radacct, filterable per reseller.

Auth logs

Every Access-Request with its verdict and reason. 'Why can't he connect?' is answered by the log line, not by trial and error.

Session history & usage

Past sessions and usage summaries per customer and per period — the evidence for every 'I was never online' dispute.

Operation logs

Auto-renewal runs, CoA outcomes, bulk-operation results — the automation reports what it did while you slept.

Data export

Any report leaves as a file when the accountant, the auditor or the regulator asks. Your data is yours.

The cron ledger

The numbers are ready before you ask.

cron · overnight run
02:00:00  expiry sweepexpired today ............. 43moved to expiry pool ...... 4302:00:07  auto-renewalwallet-funded renewals .... 31insufficient balance ...... 12 → logged02:05:00  dashboard aggregationrevenue, per reseller ..... doneexpiry forecast 7d ........ done02:10:00  server metricscpu / mem / disk .......... recorded 08:14  you open the dashboard → instant
  1. 01

    Heavy queries run at 2 AM

    Aggregation happens on schedule against the same database FreeRADIUS writes to. By morning the dashboard is a read, not a computation.

  2. 02

    Automation leaves a trail

    Every cron pass logs what it renewed, expired and skipped. The 12 customers whose wallets were short are a list you can call, not a surprise.

  3. 03

    Scoped like everything else

    A franchise sees its subtree's numbers; you see the whole radius. Same reports, same isolation rules as the rest of the platform.

app.dreamradius — reporting

Screenshot coming — the dashboard with revenue, expiries and live sessions, captured from the live product.

What it replaces

Retire the workaround.

Month-end numbers assembled from three exports and a calculator, differently each time.

One aggregation pipeline producing the same numbers for everyone — scoped to what each tier may see.

Debugging a login failure by asking the customer to try again while someone watches the BRAS.

The auth log shows the exact request and the exact reason it was rejected — wrong password, expired, MAC mismatch, port bind.

Dashboards that take 30 seconds to load because they scan radacct on every view.

Cron-aggregated stats served instantly. radacct gets scanned at 2 AM, not at 9 AM in front of the boss.