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.
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- 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.
- 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.
- 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.
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.
Keep exploring