Getting started with Observability
This guide walks you through creating an Observability workspace and forwarding metrics with Prometheus remote write. The same workspace also provides Loki endpoints for logs — see Logs after metrics are flowing.
Info
Observability workspaces are currently in Private Beta. Access may be limited — contact support for early access.
General availability is planned for August 2026.
Prerequisites
- A Thalassa Cloud organisation and project
- IAM permission to create observability workspaces (
observability:WorkspaceFullAccessor equivalent) - A Prometheus instance, Prometheus Operator, or OpenTelemetry Collector that can remote-write metrics
- A service account (recommended) for production ingest, with Prometheus remote-write permissions and OIDC credentials
Step 1: Create a workspace
Create in the console
- Open the Thalassa Cloud Console.
- Navigate to Observability → Workspaces.
- Click Create Workspace.
- Configure:
- Name — for example
production-observability - Region — usually the same region as your workloads
- Retention — days to retain metrics and logs (optional; regional default if omitted)
- Name — for example
- Click Create and wait until status is Ready.
Create via API
curl -X POST "https://api.thalassa.cloud/v1/observability/workspaces" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-H "X-Project-Identity: $PROJECT_ID" \
-d '{
"name": "production-observability",
"regionIdentity": "nl-01",
"retentionDays": 30
}'Creating a workspace enables both metrics and logs backends. Endpoints appear on the resource when status is ready.
Step 2: Collect endpoint URLs and credentials
Workspace endpoints
On the workspace Overview, copy:
| Endpoint | Purpose |
|---|---|
| Remote write URL | Prometheus / Agent metrics ingest |
| Prometheus query URL | PromQL queries (Grafana, scripts) |
| Alerting URL | Ruler / Alertmanager base (when using tools) |
| Logs push URL | Loki push API |
| Logs query URL | LogQL queries |
URLs look like:
https://prometheus.<region>.thalassa.cloud/workspace/obsw-…/api/v1/push
https://loki.<region>.thalassa.cloud/workspace/obsw-…/loki/api/v1/pushThe workspace ID is already in the path — use the URL as provided.
Authentication
Use a service account for collectors:
- Create a service account under IAM → Service Accounts.
- Bind policies that allow workspace data-plane access — at minimum Prometheus remote write for metrics ingest (for example
prometheus:RemoteWriteFullAccessorprometheus:FullAccess), scoped so the principal can use this workspace. - Create OIDC client credentials for the service account.
- Ensure the token includes the required scopes (for example
observability:prometheus:remote_write).
Personal access tokens work for testing but are not recommended for production agents.
Step 3: Configure Prometheus remote write
prometheus.yml
Replace the URL with your workspace remote write URL from the console:
global:
scrape_interval: 15s
external_labels:
cluster: production
region: nl-01
scrape_configs:
- job_name: "kubernetes-pods"
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
remote_write:
- url: https://prometheus.<region>.thalassa.cloud/workspace/obsw-<id>/api/v1/push
oauth2:
client_id: <service-account-client-id>
client_secret: <service-account-client-secret>
token_url: https://api.thalassa.cloud/oidc/token
queue_config:
max_samples_per_send: 1000
batch_send_deadline: 5s
max_retries: 3Reload Prometheus
# systemd
sudo systemctl reload prometheus
# or API
curl -X POST http://localhost:9090/-/reloadFor Prometheus Operator and advanced queue/relabel settings, see Metrics remote write.
Step 4: Verify ingest and query
Check the agent
- Open your Prometheus UI → Status → Runtime (remote write section).
- Confirm the remote write endpoint is up and samples are sent without sustained errors.
Query from the gateway
curl -H "Authorization: Bearer $TOKEN" \
"https://prometheus.<region>.thalassa.cloud/workspace/obsw-<id>/api/v1/query?query=up"Query in the console
- Open the workspace.
- Open the Metrics view.
- Run
upand confirm series from your collector.
Step 5: Optional — alerts and logs
- Create alert or recording rules from the workspace Rules tab, or with mimirtool.
- Configure Alertmanager receivers on the Alerts tab.
- Send logs to the workspace push URL — see Logs.
Next steps
- Workspaces — Retention, deletion, and endpoint details
- Remote write — Operator, OTLP, and relabeling
- Alerting — Rules and Alertmanager
- Best practices — Cardinality and cost control