Start sending your logs to Grafana Cloud directly from the console.
A first for LavinMQ
This release marks LavinMQ's first support for third-party log integrations and an improved delivery pipeline that RabbitMQ customers can benefit from, too.
As we continue to invest in LavinMQ, broad observability support is a core part of that commitment. More integrations are on the way.
Why OTLP?
OpenTelemetry has become the industry standard for observability. A vendor-neutral, open specification for carrying logs, metrics, and traces from any source to any destination. The previous approach shipped logs as plain syslog text with timestamps, PIDs, and severity levels all embedded in the message body. Useful, but required parsing before you could do anything meaningful with it.
With OTLP, logs arrive as structured records:
- Severity, process, and source as proper fields — not buried in message text. Your alerting and dashboards work correctly out of the box.
- Clean message content — no embedded timestamps or level prefixes. Just the log.
- Broker startup visibility — logs come directly from the system journal, so you see output from the moment RabbitMQ or LavinMQ begins starting up. Bootstrap logs that were previously invisible are now there. Useful for understanding restarts and knowing exactly when your broker is ready.
- Per-node attribution — on multi-node clusters, each node ships its own logs independently. You see exactly which node a log came from, and your log stream is unaffected by anything happening elsewhere.
- Direct delivery, lower latency — logs go from your cluster nodes straight to your destination, without intermediate services or unnecessary hops.
- No single point of failure — each cluster is its own source of truth. Infrastructure problems elsewhere don't touch your logs.
Getting started with Grafana Cloud
To connect, sign in to the Grafana Cloud Portal, select your stack, and click
Configure
on the
OpenTelemetry
tile. You'll find three things there: your OTLP endpoint, your numeric instance ID, and an
option to generate an API token with at minimum the
logs:write
scope.
Enter those three values in the CloudAMQP console under the Integrations tab for your instance and save. Logs will start arriving within a minute.
Once connected, open Explore in Grafana, select the Loki data source, and start querying. Because logs arrive structured, you can filter by severity as a proper field rather than grepping for words like "error" in the message text. A few queries to get started:
# All logs from your cluster
{service_name="your-cluster-name"}
# Scope to a single node on a multi-node cluster
{service_name="your-cluster-name", host_name="your-cluster-name-01"}
# Errors only — severity is a structured field, not embedded in the message
{service_name="your-cluster-name"} | severity_text = "ERROR"
# Text search within logs
{service_name="your-cluster-name"} |= "connection refused"
Full setup instructions are in the CloudAMQP documentation.
Already have a log integration for your RabbitMQ instance(s)?
If you're currently using the CloudAMQP log integrations, we will soon offer an updated OpenTelemetry pipeline for supported integrations, and you'll see all of the same improvements above. Look out for dedicated posts on that soon.
If you have questions, reach out to support@cloudamqp.com