Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.microsandbox.dev/llms.txt

Use this file to discover all available pages before exploring further.

This recipe ships data emitted by msb-metrics. See the msb-metrics page for the flag reference, metric names, and deployment constraints.
Grafana Cloud exposes a region-specific OTLP gateway at otlp-gateway-prod-<region>.grafana.net. msb-metrics ships directly to it using HTTP/Protobuf and Basic auth.
1

Get your OTLP endpoint and credentials

In the Grafana Cloud admin console, open My Account → Connections → OpenTelemetry. Copy three values:
  • Endpoint URL (looks like https://otlp-gateway-prod-us-east-2.grafana.net/otlp)
  • Instance ID (a numeric instance identifier)
  • API token with scope metrics:write (create one if you don’t already have it)
2

Build the Basic auth header

Grafana Cloud’s OTLP gateway uses HTTP Basic auth, where the username is your instance ID and the password is the API token.
GC_ID=...      # numeric instance id
GC_TOKEN=...   # API token with metrics:write
AUTH="Basic $(printf '%s:%s' "$GC_ID" "$GC_TOKEN" | base64 | tr -d '\n')"
3

Run msb-metrics

msb-metrics otel \
  --endpoint=https://otlp-gateway-prod-us-east-2.grafana.net/otlp/v1/metrics \
  --protocol=http \
  --header="Authorization=${AUTH}"
Sub the region in the URL for yours. If Grafana shows you the base OTLP URL ending in /otlp, append /v1/metrics for this HTTP metrics-only exporter.
4

Verify

Boot a sandbox (msb run alpine) and open Grafana → Explore. Query microsandbox_cpu_utilization (PromQL view of the OTel microsandbox.cpu.utilization gauge). You should see data within the next flush interval (default 10s).

Production: prefer Grafana Alloy

For long-running deployments, point msb-metrics at a local Grafana Alloy instance instead of the OTLP gateway directly. Alloy handles batching, retries, credential rotation, and buffering through Grafana Cloud hiccups without touching msb-metrics.

Reference