Zurück zum Blog
    Server MonitoringAktualisiert May 8, 20267 min read

    RabbitMQ überwachen, ohne Nachrichten oder Schlaf zu verlieren

    By AmirReliability & Network Engineering
    Teilen
    RabbitMQ überwachen, ohne Nachrichten oder Schlaf zu verlieren

    Stellen Sie sich vor: Es ist Montagmorgen. Auf Ihrer E-Commerce-Website läuft ein 48-stündiger Flash-Sale. Bestellungen kommen im Sekundentakt herein, Zahlungen werden verarbeitet, und Ihr Support-Team ist ungewöhnlich ruhig – ein wunderbarer Zustand.

    Dann explodiert plötzlich Slack.

    „Der Checkout dreht sich endlos…" „Bestellbestätigungen werden nicht versendet." „Der Lagerbestand sieht falsch aus." „Warum hängen Erstattungen seit Stunden in der Warteschlange?"

    Auf den ersten Blick wirkt alles gesund: CPU ist okay, die Webserver laufen, und die Datenbank-Graphen zeigen nichts Dramatisches. Aber das System fühlt sich trotzdem… eingefroren an.

    Nach 45 Minuten Krisenmanagement finden Sie den eigentlichen Übeltäter: RabbitMQ. Einige Queues sind angeschwollen, Consumer wurden langsamer, Acknowledgements stauten sich, und der Speicher erreichte das High Watermark. RabbitMQ aktivierte Flow Control, Publisher liefen in Timeouts, und Ihre Geschäftslogik beförderte stillschweigend keine Nachrichten mehr durch kritische Workflows.

    Genau deshalb ist RabbitMQ-Monitoring nicht optional.

    Wenn RabbitMQ das Kreislaufsystem Ihrer Architektur ist, dann ist Monitoring der Herzmonitor, der Ihnen meldet, dass etwas nicht stimmt – bevor der Patient zusammenbricht.


    Was ist RabbitMQ?

    RabbitMQ ist ein Message Broker. Er sitzt zwischen Systemen und hilft ihnen, Nachrichten zuverlässig auszutauschen.

    Statt dass ein Service einen anderen direkt aufruft (und scheitert, wenn der andere langsam oder offline ist), publizieren Services Nachrichten in RabbitMQ, und andere Services konsumieren diese Nachrichten, sobald sie bereit sind.

    RabbitMQ in einem Satz

    RabbitMQ stellt Nachrichten in Warteschlangen, damit Ihre Anwendungen asynchron, zuverlässig und skalierbar kommunizieren können.


    Wichtige RabbitMQ-Konzepte (kurz und verständlich)

    Sie müssen sich diese nicht auswendig merken, aber sie helfen Ihnen, Monitoring-Signale richtig zu deuten:

    • Producer / Publisher → die Anwendung, die Nachrichten sendet
    • Consumer → die Anwendung, die Nachrichten empfängt
    • Queue → der Ort, an dem Nachrichten warten
    • Exchange → der Ort, an dem Nachrichten zuerst eintreffen und geroutet werden
    • Binding → Regel, die einen Exchange mit einer Queue verbindet
    • Virtual Host (vhost) → logischer Namensraum (Mandant/Umgebung)
    • Channel → leichtgewichtige Verbindung innerhalb einer TCP-Verbindung
    • Ack (Acknowledgement) → der Consumer bestätigt, dass er die Nachricht verarbeitet hat
    • DLQ (Dead-Letter Queue) → Nachrichten, die nicht verarbeitet werden konnten

    RabbitMQ implementiert üblicherweise AMQP, unterstützt aber über Plugins auch andere Protokolle.


    Warum müssen Sie RabbitMQ überwachen?

    RabbitMQ ist häufig eine stille Abhängigkeit. Wenn er Probleme hat, treten die Symptome an anderer Stelle auf:

    • Web-Requests laufen in Timeouts
    • Background-Jobs stauen sich
    • E-Mails werden nicht mehr versendet
    • Zahlungsabwicklungen verzögern sich
    • Event-getriebene Systeme werden inkonsistent
    • Microservices wiederholen Anfragen und überlasten sich gegenseitig

    RabbitMQ-Probleme sind teuer, weil sie versteckte Rückstaus erzeugen. Ihr System ist vielleicht „verfügbar", aber die Ergebnisse bleiben aus.

    Monitoring hilft Ihnen!

    1. Verlangsamungen früh zu erkennen
    2. Nachrichtenverluste (oder riskante Situationen) zu verhindern
    3. Den Durchsatz in Spitzenzeiten zu schützen
    4. Kaskadierende Ausfälle zu vermeiden
    5. Kapazitäten zu planen
    6. Probleme schneller zu beheben

    Die „Gestern hat es noch funktioniert"-Falle

    RabbitMQ-Ausfälle folgen meist auf eine Veränderung:

    • Traffic-Spike
    • fehlerhaftes Consumer-Deployment
    • Ausfall einer Abhängigkeit
    • langsamer Handler
    • Schub großer Nachrichten
    • Disk-Druck
    • Memory Watermark
    • unbegrenztes Wachstum durch fehlende TTLs

    RabbitMQ fällt selten zufällig aus – Monitoring macht Veränderungen sichtbar.


    Was sollten Sie in RabbitMQ überwachen?

    Wenn Sie nur eine Sache überwachen:

    Queue-Tiefe + Consumer-Gesundheit

    Genau dort wird sichtbar, dass „Arbeit nicht erledigt wird".

    Ein robustes Setup deckt vier Ebenen ab:

    1. Queue-Ebene
    2. Broker-Ebene
    3. Node-/System-Ebene
    4. Anwendungsebene

    RabbitMQ-Monitoring-Metriken, die wirklich zählen

    1) Queue-Metriken (Ihr wichtigstes Frühwarnsystem)

    Schlüsselmetriken

    • Messages ready
    • Messages unacked
    • Total messages
    • Ingress-Rate (publish/sec)
    • Egress-Rate (ack/sec)
    • Consumer pro Queue

    Achten Sie auf

    • Steigender Trend bei Total messages
    • Wachsende Unacked-Werte
    • Consumer = 0
    • Plötzlich abfallende Egress-Rate

    Daumenregel: Wenn eine Queue bei normalem Traffic länger als ein paar Minuten wächst → stimmt etwas nicht.


    2) Consumer-Gesundheit (wo viele Vorfälle beginnen)

    Häufig ist der Broker okay – die Consumer sind das Problem.

    Häufige Ursachen:

    • fehlerhaftes Deployment
    • Retry-Schleife
    • erschöpfter Thread-Pool
    • langsame DB/API
    • Rate-Limits
    • Memory Leak

    Überwachen

    • Consumer-Anzahl
    • Consume- vs. Publish-Rate
    • Unacked
    • Error-Logs
    • Verarbeitungszeit

    Eine Queue, die wächst und sich nie erholt, ist ein schlechtes Zeichen.


    3) Verbindungen und Channels (heimtückisch)

    Überwachen

    • offene Verbindungen
    • Channels pro Verbindung
    • Reconnect-Schleifen
    • blockierte Verbindungen

    Achten Sie auf

    ⚠️ Spikes ⚠️ Leaks ⚠️ Churn


    4) Node-Gesundheit: Memory, Disk, CPU

    RabbitMQ ist hier sehr empfindlich.

    Überwachen

    • Memory & Nähe zum Watermark
    • freier Disk-Platz
    • CPU
    • File Descriptors
    • Netzwerk

    Warum Disk so kritisch ist

    Wenig freier Disk-Platz kann dazu führen, dass RabbitMQ Publisher blockiert. Für Nutzer sieht das wie ein Ausfall aus.


    5) Broker- und Cluster-Status

    Bei Clustern überwachen Sie:

    • Node up/down
    • Partitionen
    • Replikations-/Quorum-Gesundheit
    • Sync-Status
    • Leader-Wechsel

    6) Nachrichtensicherheit: DLQs, Retries, TTLs

    Überwachen

    • DLQ-Tiefe
    • Dead-Letter-Rate
    • Retry-Queues
    • TTL-Abläufe

    Wenn DLQs wachsen, sind Kunden möglicherweise bereits betroffen.


    Häufige RabbitMQ-Probleme (und ihre Signale)

    Consumer ausgefallen

    • Consumer = 0
    • Ready Messages steigen schnell

    Langsamer Consumer / Bug

    • Unacked steigt
    • Egress sinkt

    Ausfall einer Abhängigkeit

    • Unacked steigt
    • Fehler-Spikes

    Memory Watermark

    • Verbindungen blockiert
    • Publish-Latenz steigt

    Disk-Alarm

    • Producer laufen in Timeouts

    Connection Leak

    • Verbindungen steigen kontinuierlich
    • File Descriptors steigen

    Hot Queue

    • eine Queue dominiert
    • CPU & Latenz steigen

    Monitoring sagt Ihnen nicht nur, dass etwas nicht stimmt – es deutet auch an, wo.


    RabbitMQ überwachen: Eine praktische Strategie

    Mit den Essentials starten

    Queue-Tiefe, Consumer, Raten, Unacked, Memory, Disk.

    Alarme nach Geschäftsauswirkung

    Trends > statische Werte.

    Workflow-Dashboards bauen

    Checkout, Billing, Benachrichtigungen.

    Metriken + Logs korrelieren

    Broker-Stats + App-Fehler = schnellere Ursachenanalyse.

    SLO-orientiert denken

    „Innerhalb von X Minuten verarbeitet" schlägt CPU-Graphen.


    Übergeordnete Lösungen für RabbitMQ-Monitoring

    1) Xitoring (All-in-One-Monitoring)

    Warum es passt

    • zentrale Dashboards
    • aussagekräftige Alarme
    • Korrelation von Infrastruktur und Service
    • ideal, wenn MQ-Probleme Teil größerer Probleme sind

    Am besten geeignet für: Teams, die ein einziges Monitoring-Hub wollen.


    2) RabbitMQ Management Plugin

    Vorteile

    • einfach
    • hervorragend für manuelles Debugging

    Nachteile

    • eingeschränktes Alerting
    • nicht ideal für Langzeittrends

    Am besten geeignet für: schnelle Inspektionen.


    3) Prometheus + Grafana

    Vorteile

    • leistungsstark
    • flexibel
    • starker SLO-Support

    Nachteile

    • Aufwand für Setup und Tuning

    Am besten geeignet für: Teams, die bereits in diesem Ökosystem unterwegs sind.


    4) Datadog

    Vorteile

    • schnelles Onboarding
    • Metriken + Logs + Traces

    Nachteile

    • hohe Kosten bei großem Maßstab

    5) New Relic

    Vorteile

    • starkes APM + Infrastruktur

    Nachteile

    • erfordert durchdachtes Setup

    6) Elastic Stack

    Vorteile

    • exzellente Log-Korrelation

    Nachteile

    • Komplexität im großen Maßstab

    7) Splunk

    Vorteile

    • Enterprise-Power

    Nachteile

    • teuer, schwergewichtig

    8) Cloud-/Anbieter-Monitoring

    Vorteile

    • weniger Betriebsaufwand

    Nachteile

    • fehlende Queue-Details möglich
    • Sichtbarkeit auf Anwendungsebene weiterhin nötig

    Ein RabbitMQ-Dashboard aufbauen

    Gestalten Sie es entlang der Fragen, die in einem Vorfall auftauchen.

    A) Ist der Nachrichtenfluss gesund?

    • Total Messages
    • Ready vs. Unacked
    • Publish vs. Ack
    • Consumer
    • DLQ-Tiefe/-Rate

    B) Druck auf den Broker?

    • Memory
    • Disk
    • CPU
    • Netzwerk
    • File Descriptors

    C) Stabiler Cluster?

    • Node-Status
    • Partitionen
    • Replikations-Gesundheit

    D) Anwendungen okay?

    • Publish-Fehler
    • Consumer-Fehler
    • Verarbeitungszeit
    • Reconnects

    Tipp: Platzieren Sie kritische Queues ganz oben.


    Alerting für RabbitMQ (einfach und nützlich)

    Ein guter Alarm sagt Ihnen:

    • Was betroffen ist
    • Wo
    • Wie dringend

    Alarme, die funktionieren

    ✅ wachsender Backlog ✅ fehlende Consumer ✅ zu hohe Unacked-Werte ✅ wenig Disk ✅ Memory-Druck ✅ DLQ-Wachstum

    Lärm vermeiden

    ❌ CPU allein ❌ Queue-Größe ohne Kontext

    Verwenden Sie Trends + Ressourcengrenzen.


    Best Practices, die Ihr Monitoring stärken

    • Unbegrenztes Wachstum verhindern -> TTLs, DLQs, Max-Längen verwenden.
    • Nachrichten schlank halten -> IDs statt Payload-Blobs bevorzugen.
    • Acks korrekt einsetzen -> Nach Erfolg ack-en. Vorsicht bei Auto-Ack.
    • Prefetch steuern -> Unacked-Metriken helfen beim Tunen.
    • Workloads trennen -> Lassen Sie langsame Jobs keine kritischen blockieren.
    • Retry-Stürme vermeiden -> Verzögerungen und DLQs nutzen.

    Überwachen Sie RabbitMQ wie ein Produkt

    RabbitMQ ist nicht nur Infrastruktur. Wenn er langsamer wird, wird auch Ihr Geschäft langsamer.

    Gutes Monitoring beantwortet:

    • Fließen die Nachrichten?
    • Welche Queue hängt?
    • Ist der Broker gesund?
    • Scheitern Consumer im Stillen?
    • Ist das ein Spike, ein Bug oder ein Kapazitätsproblem?

    Wenn Sie RabbitMQ-Monitoring suchen, das in einen umfassenderen Alles-an-einem-Ort-überwachen-Ansatz passt, ist Xitoring eine starke erste Wahl – besonders dann, wenn RabbitMQ nur ein Teil eines größeren Performance-Puzzles ist.

    Schluss mit dem Raten. Beginnen Sie mit der Überwachung.

    Volle Sichtbarkeit Ihrer Infrastruktur in unter 60 Sekunden. Keine Kreditkarte erforderlich.

    Kostenlos testen