This recipe ships data emitted by
msb-metrics.
See the msb-metrics page for the flag reference, metric names, and
deployment constraints.msb-metrics doesn’t have to
deal with retries, batching, credential rotation, or backend hiccups.
This is the recommended setup for production deployments.
Alloy sits between msb-metrics and the upstream backend. msb-metrics
ships locally over plain OTLP with no auth; Alloy owns the credentials,
the upstream connection, and the buffering through hiccups.
1
Install Alloy
Follow the Alloy install guide
for your platform.
2
Configure an OTLP receiver and Grafana Cloud exporter
Save as Sub the OTLP gateway region for yours.
/etc/alloy/config.alloy:3
Start Alloy
4
Point msb-metrics at Alloy
Why this is better for production
- Buffering survives backend hiccups. Alloy holds data when
Grafana Cloud is slow or unreachable;
msb-metrics’s per-exporter buffer alone has a ~20MB cap at the default--max-buffered=60with 1000 sandboxes. - Credential rotation doesn’t touch
msb-metrics. Rotate the Grafana Cloud token in Alloy’s config (or via env vars + a config reload) without restarting the collector. - Multiple destinations. Alloy can fan out to additional backends
(Prometheus remote-write, Mimir, etc.) without changing the
msb-metricsconfiguration.