owlette docs
dashboard

activity logs

The activity logs page shows a site-scoped timeline for agent, process, command, deployment, and scheduled reboot events. Open it from the dashboard menu by selecting logs, or go directly to /logs.


event types

Common stored action values include:

actionlabeltypical level
agent_startedagent startedinfo
agent_stoppedagent stoppedinfo
process_startedprocess startedinfo
process_killedprocess killedwarning
process_crashprocess crashederror
process_start_failedstart failederror
process_launch_failedlaunch failederror
command_executedcommand executedinfo
deployment_completeddeployment completedinfo
deployment_faileddeployment failederror
deployment_cancelleddeployment cancelledwarning
scheduled_rebootscheduled rebootwarning

The menu also includes all actions as the reset value.


filtering

Select show filters to narrow the timeline.

filteroptions
action typeall actions, or a dashboard-supported action value
machineall machines, or a machine present in the loaded logs
levelall levels, info, warning, error
date rangeall time, last hour, last 24 hours, today, yesterday, last 7 days, last 30 days, this week, this month, last month, custom range

When custom range is selected, the page shows from and to date inputs. Use reset filters to clear action, machine, level, and date filters.


browsing logs

The first batch is loaded with a real-time Firestore listener, ordered newest first when the active filters allow it. The page loads 50 entries at a time and uses infinite scroll: when you reach the end of the visible list, the next batch is fetched automatically and a loading more... indicator appears.

There are no numbered page controls on the current page.


log entry details

Each collapsed row shows:

fielddescription
levelSeverity badge for info, warning, error, or another stored level
actionStored action value rendered as readable text
machineMachine name for the event
processProcess name when the event is process-scoped
timestampRendered using the user's selected dashboard time display mode
detailsShort text preview when present
screenshotCamera marker when a crash screenshot is attached

Expand a row to see the machine id, user id when present, the full timestamp, full details text, and an attached crash screenshot preview.


storage and API

Logs are stored under:

sites/{siteId}/logs/{logId}

The dashboard reads from that collection directly. The site logs API reads the same collection with cursor pagination:

GET /api/sites/{siteId}/logs?action=process_crash&machineId=machine-1&level=error&since=1714521600000&until=1714607999999

Supported API query filters are action, machineId, level, since, until, page_size, and page_token.

Stored log entries may include timestamp, action, level, machineId, machineName, processName, processId, details, userId, screenshotUrl, eventType, exePath, and suggestedPaths.


clearing logs

The clear logs button permanently deletes logs for the current site. It opens a confirmation dialog before sending:

DELETE /api/sites/{siteId}/logs
Idempotency-Key: dashboard-clear-logs-<uuid>
Content-Type: application/json

{ "action": "deployment_failed", "machineId": "machine-1", "level": "error" }

Clearing requires the site-scoped SITE_LOGS_MANAGE capability. Site admins have this capability for their assigned sites; superadmins have it globally. API-key calls must use an admin-capable key.

The delete body can include action, machineId, and level filters. If no filters are provided, the body must explicitly be:

{ "all": true }

The response includes siteId, deletedCount, and the applied filters. Whole-site clears and filtered clears are destructive and cannot be undone. The current dashboard clear action applies action, machine, and level filters only; date range filters are view filters and are not sent in the clear request.

on this page