Prerequisites
- Docker with Docker Compose v2.
- About 2 GB of free memory.
- Free local ports:
5080(web UI and API),5082,5432(PostgreSQL),9000and9001(RustFS).
Start the sandbox
1
Clone the repository and start the stack
{"status":"ok"}.2
Sign in to the web UI
Open http://localhost:5080 and sign in with:
- Email:
[email protected] - Password:
admin
rustfsadmin / rustfsadmin. These sandbox credentials are not secure.3
Get an access token
The API accepts a bearer token. Sign in through the API to get a login token (valid for 24 hours by default) and the organization id:Without
jq, copy token and org_id from the response and export them manually.Use an API token or an intake token for senders that run longer than the login token lifetime. See Datasource.
4
Send a log event
Native HTTP JSON intake takes an array of records. The response reports the accepted records:
_timestamp holds microseconds since the Unix epoch. The stream app is created on the first write.5
Find the event in the web UI
- Open Logs.
- Select the stream
appin the stream selector. - Keep the time range at Last 1 hour and select Run.
6
Query the event with the API
Run the same lookup through the query API. Always send a bounded The response contains
time_range in microseconds; a very wide range makes the planner turn the query into an asynchronous search job.columns, rows, scanned_rows, and took_ms:Load sample data
A workspace without data shows empty pages. Load a small, correlated demo set (logs, metrics, and traces that sharetrace_id values) to try cross-signal investigation:
sample_app_logs, sample_app_metrics, and sample_app_traces. The same action is available in the web UI: on Home, select Complete setup in the setup banner, then select Load next to Load sample data. The banner disappears after every setup step is complete.
Send OpenTelemetry data
OTLP over HTTP works with any OpenTelemetry SDK or Collector. Point the exporter at the/api base path; the exporter appends /v1/logs, /v1/metrics, and /v1/traces:
default of each signal type unless a stream-name header selects another stream. See Datasource and Integration guides for Collector, Vector, Fluent Bit, Prometheus, and SDK setups.
Stop the sandbox
Troubleshooting
Next steps
Connect real data
Use the Datasource page, intake tokens, and compatible protocols.
Integration guides
Configure the OpenTelemetry Collector, Vector, Fluent Bit, Filebeat, and Prometheus.
Core concepts
Learn signals, streams, workspaces, and permissions.
Deploy for real
Move from the sandbox to a production deployment.