Skip to main content
Version: Developer

Reporting and Logging

Kasm Workspaces reporting and logging form the evidence layer that makes workspace delivery auditable and operationally visible. The built-in dashboards present usage, session activity, and security-relevant events, while enriched JSON logs from each role service can be ingested into an external Security Information and Event Management (SIEM) solution. File-based logs complement an external SIEM rather than replacing it.

Logging behavior is configured in the Settings dashboard. For configuration options, see the logging settings.

Log retention

By default, logs are retained for one week. The retention period defines the maximum window visible in the reporting dashboard and the logging dashboard. The retention period is configured in the logging retention settings.

For large production deployments, administrators are advised to forward Kasm Workspaces file-based logs to an external logging or SIEM solution.

Dashboard

The reporting dashboard shows session, user, and infrastructure data over a selected time period. By default it displays the last day of data. The Time Period dropdown menu changes the window.

Report options time period dropdown

Report options

Time period options

Time periodWindowAutomatic refresh
DefaultThe last day of data.None.
Real-TimeThe last hour of data.Refreshes every five minutes. Real-Time is the only time period with automatic refresh enabled.
CustomA specific time frame selected in the custom time menu.A configurable auto-refresh interval set in the same menu.

Custom time range modal

Custom time range selection menu

Logging dashboard

The logging dashboard displays logs collected from the entire application. Logs can be searched and split by process or by host.

The basic log options control which logs are returned.

Default log filter options

Default log options

Basic log filter fields

FieldMeaningExample
LevelThe minimum logging level returned.INFO
LimitThe maximum number of log entries returned.100
TimeThe lookback window, measured in minutes from the current time.60

The More filters option displays the advanced log filters. The advanced filters set the time selection by custom start and end dates and narrow results by additional attributes.

Advanced log filter options

Advanced log options

Advanced log filter fields

FieldMeaningExample
Start and end dateA custom time range bounded by explicit start and end timestamps.A two-hour window during an incident.
ApplicationThe application that produced the log entry.api
ProcessThe process that produced the log entry.manager
HostThe host that produced the log entry.A specific Agent hostname.
UsernameThe user associated with the log entry.user@example.com
MessageA free-text search against the log message.destroyed returns logs for destroyed sessions.

Export

Selecting a single log entry exposes additional options, including an Export action. Export packages context for the selected entry into an AES256-encrypted ZIP archive protected by an administrator-supplied password. The same password is required to extract the archive.

Context options for exporting a log entry

Context options for exporting a log entry

Export artifacts

The archive contains up to three files.

FileContentsCondition
export.jsonThe selected log entry, the chosen options, and the username.Always included.
context.jsonAll log entries in the chosen time frame, including the selected entry.Always included.
system_info.jsonSystem information for the selected entry.Included only when the corresponding option is selected during export.
note

The archive uses AES256 encryption. Older built-in operating system extractors on Windows and macOS may not support AES256 ZIP files, in which case a utility such as 7-Zip is required to extract the contents. Verify support against the current operating system version.

File-based logs

Each role service emits a set of enriched JSON-formatted logs that can be ingested into a SIEM solution. The following table lists each log file and its source.

Log pathSourcePurpose
/opt/kasm/current/log/agent_json.logAgent serviceWorkspace and container lifecycle events on the Agent.
/opt/kasm/current/log/api_server_json.logAPI serviceAPI server requests and application events.
/opt/kasm/current/log/manager_api_server_json.logManager serviceManager API server requests and orchestration events.
/opt/kasm/current/log/web_filter_access_json.logWeb filterWeb filter access decisions.
/opt/kasm/current/log/share_json.logShare serviceSession sharing events.
/opt/kasm/current/log/nginx/access_json.logWeb server (nginx)HTTP access requests to the web server.

Metrics

Important application log events include a metric_name attribute. Each value identifies an event useful for visualization and analysis.

Metric nameEvent
provision.createA workspace provisioning operation begins.
provision.destroyA workspace provisioning operation is torn down.
provision.cast.createA Cast provisioning operation begins.
account.login.successfulA user authenticates successfully.
account.login.failed_invalid_passwordA login attempt fails because the password is invalid.
account.login.failed_ldap_errorA login attempt fails because of an LDAP error.
scaling.status.resourcesAutoScale reports current resource status.
scaling.provider.aws.statusAutoScale reports AWS provider status.

Many metric logs contain additional data useful for analysis. Administrators can inspect the logs for further detail.

Common attributes

Where applicable, the application logs emit additional attributes that provide context for analysis.

AttributeMeaning
messageThe log message text.
levelnameThe logging level of the entry.
request_ipThe source IP address of the request.
user_agentThe user agent string of the request.
server_idThe Agent identifier.
kasm_user_idThe unique identifier of the user.
kasm_user_nameThe username of the user.
kasm_image_idThe unique identifier of the workspace image.
kasm_image_nameThe internal name of the workspace image.
kasm_image_friendly_nameThe display name of the workspace image.
kasm_idThe unique identifier of the Kasm session.