Google Cloud

CloudAMQP ships broker logs to Google Cloud Logging via the OpenTelemetry protocol (OTLP), using a Google Cloud service account for authentication. Available on RabbitMQ and LavinMQ dedicated instances.

Link: https://cloud.google.com/logging

Prerequisites

The Cloud Logging API must be enabled in your Google Cloud project. It is enabled by default in most projects, but verify this before proceeding.

Setup

Step 1 Create a service account

  1. Sign in to the Google Cloud Console and select your project.
  2. Go to IAM & Admin → Service Accounts and click + Create Service Account.
  3. Give it a descriptive name (e.g. cloudamqp-logs ) and click Create and continue.
  4. On the Grant this service account access to project step, add the role Logs Writer — no other roles are needed.
  5. Click Done.

Step 2 Download the credentials file

  1. Open the service account you just created and go to the Keys tab.
  2. Click Add Key → Create new key and select JSON.
  3. The credentials file will be downloaded to your computer.

Step 3 Add the integration in CloudAMQP

Open the CloudAMQP console, go to Integrations → Add log integration → Google Cloud, upload the JSON credentials file, and click Save. Logs will begin shipping within a few minutes.

Finding your logs

Once connected, open Google Cloud Console → Monitoring → Logs Explorer. CloudAMQP logs arrive under the log name otlp. You can filter to it directly with:

logName="projects/YOUR_PROJECT_ID/logs/otlp"

To narrow further by cluster or individual node, add OTel resource attribute filters:

logName="projects/YOUR_PROJECT_ID/logs/otlp"
otel.resource.attributes."service.name"="my-cluster-name"
otel.resource.attributes."host.name"="my-cluster-name-01"

Log record format

Each log record arrives in Google Cloud Logging as a structured entry. Here is an example from a RabbitMQ node:

{
  "textPayload": "Simulated Error: Testing RabbitMQ alert pipelines.\n",
  "insertId": "1y6ugiei0m6i",
  "resource": {
    "type": "generic_node",
    "labels": {
      "project_id": "YOUR_PROJECT_ID",
    }
  },
  "timestamp": "2026-08-24T12:25:27.910493Z",
  "severity": "ERROR",
  "labels": {
    "appname": "rabbitmq"
  },
  "logName": "projects/YOUR_PROJECT_ID/logs/otlp",
  "receiveTimestamp": "2026-08-24T12:25:28.310343623Z",
  "otel": {
    "resource": {
      "attributes": {
        "gcp.log_name": "cloudamqp/broker-logs",
        "host.name": "my-cluster-name-01",
        "service.name": "my-cluster-name",
        "gcp.project_id": "YOUR_PROJECT_ID"
      }
    }
  }
}

Log attributes

  • textPayload — the log message body
  • otel.resource.attributes."service.name" — your CloudAMQP cluster name
  • otel.resource.attributes."host.name" — the individual node hostname, useful for filtering on multi-node clusters
  • labels.appname — always rabbitmq or lavinmq
  • severity — mapped from the journald PRIORITY field to the OpenTelemetry severity spec (e.g. DEBUG = 5, INFO = 9, WARN = 13, ERROR = 17, FATAL = 21), then translated to Google Cloud Logging severity labels
  • logName — always projects/YOUR_PROJECT_ID/logs/otlp

← Back to Log Integrations

↑ Back to top