Skip to content

Observability

Add Observability. One node runs a full stack for the workspace: Grafana for dashboards, Loki for logs, Tempo for traces, Prometheus for metrics, and an OpenTelemetry collector. It uses a fixed 1.5 GB of memory and 2.5 CPU from your quota.

As soon as the node runs, it collects the output (stdout/stderr) and CPU and memory use of every container in the workspace, linked or not, every 30 seconds. Nothing to install. Only your own workspace’s containers are included.

Link an app to the Observability node and redeploy it. The app gets:

Variable Value
OTEL_EXPORTER_OTLP_ENDPOINT http://<node>:4318
OTEL_EXPORTER_OTLP_PROTOCOL http/protobuf
OTEL_SERVICE_NAME the app’s name

Any OpenTelemetry SDK reads these on its own. For Node.js, for example:

Terminal window
npm install @opentelemetry/auto-instrumentations-node
# start command
node --require @opentelemetry/auto-instrumentations-node/register server.js
  1. Turn the node’s Public switch on and deploy. Grafana is then at https://obs-<id>.<edge domain>.
  2. Sign in as admin with the password shown under Accounts.

Dashboards for app overview, logs and traces, and containers are ready on first sign-in. Add more Grafana users from inside Grafana; public sign-up is off.

The node panel also has a quick view: CPU, memory, restarts, error counts and the newest error lines for each service, without opening Grafana.

Setting Range Default
Log retention 1 to 30 days 7
Trace retention 1 to 14 days 3
Trace sampling 1 to 100% 100%

Changing these restarts the observability stack; your apps keep running.