Skip to main content

AMQP

Synopsis​

The amqp device type is the RabbitMQ device under the protocol's name: the same properties, the same collector, and the same records (definition id 811). Use it for brokers that speak AMQP 0-9-1 but are not RabbitMQ, or are not called so, such as LavinMQ, Amazon MQ for RabbitMQ, or CloudAMQP. For Amazon MQ, the dedicated Amazon MQ device adds the engine checks, a certificate check by default, and IAM or OAuth 2.0 sign-in.

note

AMQP 1.0 is supported with protocol: "1.0". It is a different wire protocol, not a newer version of 0-9-1, and it reaches ActiveMQ Artemis and Classic, Amazon MQ for ActiveMQ, Solace, and RabbitMQ 4. Without protocol, the device speaks AMQP 0-9-1. See the Protocol section of RabbitMQ. Azure Service Bus is not reached through this device.

For details, see Appendix.

Configuration​

Set type: amqp and configure the device exactly as the RabbitMQ device: every field, default, and behavior on RabbitMQ applies unchanged, including the per-worker ingest buffers.

Examples​

Consuming a quorum queue the device declares, with a dead-letter exchange for messages that can never be written. x-dead-letter-exchange does not create that exchange: declare payments-dead-letters and bind a queue to it first, or rejected messages are dropped. A rejected message keeps its routing key, so on a direct dead-letter exchange bind that queue with audit...

- id: 1
name: payments_audit
type: amqp
properties:
address: "10.20.0.15"
username: "${AUDIT_USER}"
password: "${AUDIT_PASSWORD}"
exchange:
name: "payments"
type: "direct"
queue:
name: "payments-audit"
key: "audit"
arguments:
x-queue-type: quorum
x-dead-letter-exchange: payments-dead-letters
x-delivery-limit: 20
content_encoding: auto
prefetch_count: 1000
workers: 2