Zum Inhalt

Element <rabbitmq-exporter>

Zweck: Deklariert ein RabbitMQ-Publisher-Ziel für generierte Produktströme.

Warum: Verwende dieses Element, um bestätigte Nachrichten über eine konfigurierte RabbitMQ-Route zu veröffentlichen.

Beispiel

1
<rabbitmq-exporter id="orders-out" routing_key="orders.created"/>

Entscheidungshilfe

Fachlicher Nutzen: Veröffentlicht Datensätze über AMQP-Exchange und Route mit Brokerbestätigung.

  • Verwenden, wenn

    • Wenn ein Produkt nach RabbitMQ geroutet und die Veröffentlichung bestätigt werden muss.
  • Anderen Ansatz wählen, wenn

    • Wenn das Ziel Kafka, ein Dateiartefakt oder eine Datenbank ist.
  • Voraussetzungen

    • Liefere Brokerkonnektivität und einen brokerverwalteten Exchange-/Routing-Vertrag.
  • Alternativen

    • Verwende kafka-exporter für partitionierte Topic-Veröffentlichung. (Siehe: <kafka-exporter>)

Vollständige Beispiele

Eine begrenzte Queue konsumieren und bestätigte Nachrichten veröffentlichen

Verwende einen count-begrenzten Importer für verfügbare Nachrichten und eine getrennte bestätigte Exporter-Route; halte dauerhafte Topologie standardmäßig brokerverwaltet.

rabbitmq-roundtrip/datamimic.xml
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
<setup>
    <rabbitmq-importer id="orders_in"
                       system="rabbit_profile"
                       queue="{rabbitmq_input_queue}"
                       auto_ack="false"
                       prefetch_count="10"/>
    <rabbitmq-exporter id="orders_out"
                       system="rabbit_profile"
                       exchange=""
                       routing_key="{rabbitmq_output_queue}"/>
    <generate name="normalized_orders"
              source="orders_in"
              count="10"
              distribution="ordered"
              target="LogExporter,orders_out"/>
</setup>

Regeln und ungültige Kombinationen

I939 — Export RabbitMQ TLS Failed

RabbitMQ TLS/SSL handshake failed for exchange '{exchange}': {reason}

Warum: The RabbitMQ exporter failed the TLS/SSL handshake while publishing messages.

Lösung: Verify RabbitMQ certificates, trust chain, hostname validation, and TLS settings.

Vollständige Regel

I940 — Export RabbitMQ Authentication Failed

RabbitMQ authentication failed for exchange '{exchange}': {reason}

Warum: The RabbitMQ exporter could not authenticate with the configured credentials.

Lösung: Verify the RabbitMQ user and password for the exporter connection.

Vollständige Regel

I941 — Export RabbitMQ Authorization Failed

RabbitMQ authorization failed for exchange '{exchange}': {reason}

Warum: The RabbitMQ exporter is authenticated but lacks permission to publish to the exchange.

Lösung: Grant the configured user write access to the virtual host and exchange.

Vollständige Regel

I942 — Export RabbitMQ Network Failed

RabbitMQ network connectivity failed for exchange '{exchange}': {reason}

Warum: The RabbitMQ exporter could not reach the configured broker endpoint.

Lösung: Verify RabbitMQ host, port, DNS, routing, and firewall connectivity.

Vollständige Regel

I943 — Export RabbitMQ Timeout

RabbitMQ publish timed out for exchange '{exchange}': {reason}

Warum: The RabbitMQ export operation exceeded its timeout while publishing messages.

Lösung: Retry the operation or tune RabbitMQ connection, heartbeat, and blocked-connection timeouts.

Vollständige Regel

I944 — Export RabbitMQ Exchange Not Found

RabbitMQ exchange '{exchange}' not found or inaccessible: {reason}

Warum: The configured RabbitMQ exchange does not exist or cannot be accessed by the exporter.

Lösung: Verify the exchange exists and the configured user can access it.

Vollständige Regel

I945 — Export RabbitMQ Message Unroutable

RabbitMQ could not route a message through exchange '{exchange}' with routing key '{routing_key}': {reason}

Warum: The broker returned a mandatory message because no queue binding matched its routing key.

Lösung: Create a matching queue binding or correct the exchange and routing key.

Vollständige Regel

I946 — Export RabbitMQ Write Failed

RabbitMQ write failed through exchange '{exchange}' with routing key '{routing_key}': {reason}

Warum: The RabbitMQ exporter encountered an unclassified publish or shutdown failure.

Lösung: Inspect RabbitMQ broker/client logs and exporter configuration, then retry.

Vollständige Regel

Erlaubte Elternelemente / Erlaubte Kindelemente

Erlaubte Elternelemente: else, else-if, if, setup, while

Erlaubte Kindelemente:

Keine

  • Source und Target wählen — Guides users and agents from an input ownership boundary and intended side effect to one bounded source and target contract.
  • RabbitMQ als begrenzte Quelle und als Ziel — Explains bounded RabbitMQ consumption, competing-consumer ordering, broker-owned topology, publisher confirms, and unsupported finite-pool options.

Attribute

Alle 25 Attribute anzeigen

allow_auto_declare_queue

Declare the configured RabbitMQ queue when the client first uses it.

optional; boolean; Standardwert: false.

auto_delete

Delete the declared queue after its last consumer disconnects.

optional; boolean; Standardwert: false.

blocked_connection_timeout

Maximum seconds to wait while RabbitMQ blocks the connection.

optional; integer; Standardwert: null.

connection_attempts

Number of AMQP connection attempts before reporting failure.

optional; integer; Standardwert: null.

environment

Environment label for this RabbitMQ configuration.

optional; string; Standardwert: null.

exchange

RabbitMQ exchange to which messages are published.

optional; string; Standardwert: "".

exclusive

Restrict the declared queue to this connection.

optional; boolean; Standardwert: false.

heartbeat

AMQP heartbeat interval in seconds.

optional; integer; Standardwert: null.

host

RabbitMQ broker hostname or IP address.

optional; string.

id

RabbitMQ exporter identifier.

erforderlich; string.

mandatory

Require RabbitMQ to return messages that cannot be routed.

optional; boolean; Standardwert: true.

password

Password used for RabbitMQ authentication.

optional; string; Standardwert: "".

port

RabbitMQ AMQP port.

optional; integer.

queue_expires_ms

Delete the declared queue after this many unused milliseconds.

optional; integer; Standardwert: null.

retry_delay

Seconds to wait between RabbitMQ connection attempts.

optional; integer; Standardwert: null.

routing_key

Routing key used to publish each message.

erforderlich; string.

ssl_cafile

Path to the CA certificate file used to verify RabbitMQ.

optional; string; Standardwert: null.

ssl_certfile

Path to the client TLS certificate file.

optional; string; Standardwert: null.

ssl_check_hostname

Verify that the broker certificate matches the requested hostname.

optional; boolean; Standardwert: null.

ssl_enabled

Enable TLS for the RabbitMQ connection.

optional; boolean; Standardwert: null.

ssl_keyfile

Path to the client TLS private-key file.

optional; string; Standardwert: null.

ssl_keyfile_password

Password used to decrypt the client TLS private key.

optional; string; Standardwert: null.

system

System identifier for this RabbitMQ configuration.

optional; string; Standardwert: null.

user

User used for RabbitMQ authentication.

optional; string.

virtual_host

RabbitMQ virtual host containing the queue or exchange.

optional; string; Standardwert: "/".