Portal Log
Portal Log records every event that occurs on the captive portal in real time — page loads, login attempts, OTP sends, errors, and session checks. Use it to monitor portal activity and troubleshoot connectivity issues for individual users or devices.
'alt' => 'Dashboard overview', 'caption' => 'The default Kiwire dashboard layout', 'screenshot' => true, 'class' => '', ]) Drop images into: public/assets/img/docs/{page}/{filename} --}}public/assets/img/docs/portal-log/overview.png
What It Shows
Every time a user interacts with the captive portal — loading the page, submitting a form, receiving an OTP, or completing registration — an entry is written to the portal log. The log is append-only and retained for the configured log retention period.
Log Event Types
| Event Type | Description |
|---|---|
portal_load |
The captive portal page was displayed to a device. Records the portal journey and zone that served the page. |
login_attempt |
A user submitted the login form. Recorded before authentication is processed. |
login_success |
Authentication succeeded and the user was granted network access. |
login_failed |
Authentication failed. The details field contains the reason (e.g., invalid password, account expired, account inactive, domain not allowed). |
otp_sent |
A one-time password code was dispatched to the user via SMS or email. |
otp_verified |
The user entered a correct OTP code and passed verification. |
registration |
A new WiFi user account was created through the portal registration form. |
session_check |
The portal re-checked the user's current session status (typically on redirect or page refresh). |
Log Entry Fields
| Field | Description |
|---|---|
| Timestamp | Exact date and time the event occurred. |
| Event Type | One of the event types listed above. |
| Username | The account involved (may be blank for portal_load events before login). |
| IP Address | The device's IP address as seen by the portal. |
| MAC Address | The device's hardware address (if the AP/NAS supplies it in the RADIUS request). |
| Zone | Which zone/AP served the portal to this device. |
| Portal Journey | The portal configuration (journey) that handled the event. |
| Details | Additional context — failure reasons, OTP method used, registration source, etc. |
Filters
- Date Range — limit the log view to a time window
- Event Type — show only specific event categories
- Zone — filter to a specific zone or AP
- Username — show all events for a specific account
- MAC Address — filter by device MAC (most useful for troubleshooting)
Live Mode
Toggle Live Mode to auto-refresh the log every 30 seconds. A pulsing indicator shows that live mode is active. Useful for monitoring portal activity in real time during a deployment or user support session.
Troubleshooting with Portal Log
When a user reports they cannot connect to WiFi, the Portal Log is the first place to look:
- Ask the user for their device MAC address or username.
- Filter the log by that MAC address or username.
- Follow the event sequence — did the portal load? Was a login attempt made? What failure reason appears in the
login_faileddetail? - Common failure reasons and fixes:
- invalid password — user needs a password reset
- account expired — check and extend the account expiry date in Users
- account inactive — re-activate the account in Users
- domain not allowed — review the login method's allowed email domain setting
If you see portal_load entries but no login_attempt, the user is reaching the portal page but not submitting the form — check for JavaScript errors or portal template rendering issues.
Required Permissions
view-portal-log