Bird
Raised Fist0
RabbitMQdevops~20 mins

Alerting on queue depth and consumer lag in RabbitMQ - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
RabbitMQ Alerting Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Understanding queue depth alerting

What does monitoring the queue depth in RabbitMQ help you detect?

AIt tracks the total number of messages published since server start.
BIt shows the number of consumers connected to the queue.
CIt measures the network latency between RabbitMQ nodes.
DIt helps detect if messages are piling up, indicating slow processing or blocked consumers.
Attempts:
2 left
💡 Hint

Think about what it means if many messages wait in the queue.

💻 Command Output
intermediate
2:00remaining
Interpreting consumer lag from RabbitMQ CLI

Given the output below from rabbitmqctl list_queues name messages_ready messages_unacknowledged, what is the consumer lag?

queue1 10 5
queue2 0 0
queue3 3 7
RabbitMQ
rabbitmqctl list_queues name messages_ready messages_unacknowledged
Aqueue1 has 5 messages lagging; queue2 has 0; queue3 has 7 messages lagging.
Bqueue1 has a lag of 15 messages; queue2 has no lag; queue3 has a lag of 10 messages.
Cqueue1 has 10 messages lagging; queue2 has 0; queue3 has 3 messages lagging.
Dqueue1 has 10 messages ready only; consumer lag cannot be determined.
Attempts:
2 left
💡 Hint

Consumer lag is the sum of messages ready and unacknowledged.

❓ Configuration
advanced
2:30remaining
Configuring alert for queue depth using Prometheus

Which Prometheus alert rule correctly triggers when RabbitMQ queue depth exceeds 1000 messages for more than 5 minutes?

A
alert: HighQueueDepth
expr: rabbitmq_queue_messages_ready > 1000
for: 5m
labels:
  severity: warning
annotations:
  summary: "Queue depth high"
B
alert: HighQueueDepth
expr: rabbitmq_queue_messages_ready >= 1000
for: 1m
labels:
  severity: critical
annotations:
  summary: "Queue depth high"
C
alert: HighQueueDepth
expr: rabbitmq_queue_messages_ready > 1000
labels:
  severity: warning
annotations:
  summary: "Queue depth high"
D
alert: HighQueueDepth
expr: rabbitmq_queue_messages_ready > 1000
for: 10m
labels:
  severity: warning
annotations:
  summary: "Queue depth high"
Attempts:
2 left
💡 Hint

Check the expression, threshold, and duration carefully.

❓ Troubleshoot
advanced
2:00remaining
Diagnosing consumer lag despite low queue depth

You notice consumer lag is high but the queue depth is low. What could cause this?

AConsumers have received messages but are slow to acknowledge them, causing unacknowledged messages to pile up.
BThe RabbitMQ server is down, so no messages are processed.
CThe queue is set to auto-delete, so messages are lost immediately.
DThere are no consumers connected to the queue.
Attempts:
2 left
💡 Hint

Think about what unacknowledged messages mean.

🔀 Workflow
expert
3:00remaining
Designing an alert workflow for consumer lag and queue depth

Which sequence of steps correctly describes a workflow to alert on both queue depth and consumer lag in RabbitMQ?

A2,1,3,4
B3,1,2,4
C1,2,3,4
D1,3,2,4
Attempts:
2 left
💡 Hint

Think about the logical order from data collection to resolution.

Practice

(1/5)
1. What is the main reason to set up alerts on RabbitMQ queue depth?
easy
A. To increase the number of queues automatically
B. To delete messages faster from the queue
C. To catch message buildup early and prevent overload
D. To reduce the number of consumers

Solution

  1. Step 1: Understand queue depth meaning

    Queue depth is the number of messages waiting in the queue.
  2. Step 2: Identify alert purpose

    Alerting on queue depth helps detect when messages pile up, which can cause delays or failures.
  3. Final Answer:

    To catch message buildup early and prevent overload -> Option C
  4. Quick Check:

    Queue depth alert = catch buildup early [OK]
Hint: Queue depth alert means watching message pileup [OK]
Common Mistakes:
  • Thinking alerts delete messages automatically
  • Confusing queue depth with consumer count
  • Assuming alerts increase queue size
2. Which RabbitMQ command correctly shows the current depth of a queue named task_queue?
easy
A. rabbitmqctl queue_status task_queue
B. rabbitmqctl show_queue task_queue depth
C. rabbitmqctl list_queues name messages
D. rabbitmqctl list_queues name messages_ready messages_unacknowledged

Solution

  1. Step 1: Recall correct command syntax

    The command rabbitmqctl list_queues lists queues with specified columns.
  2. Step 2: Identify columns showing queue depth

    Columns messages_ready and messages_unacknowledged together show total queue depth.
  3. Final Answer:

    rabbitmqctl list_queues name messages_ready messages_unacknowledged -> Option D
  4. Quick Check:

    List queues with messages_ready and unacknowledged = A [OK]
Hint: Use list_queues with messages_ready and messages_unacknowledged [OK]
Common Mistakes:
  • Using non-existent commands like show_queue
  • Omitting messages_unacknowledged count
  • Confusing queue_status with list_queues
3. Given this output from rabbitmqctl list_queues name messages_ready messages_unacknowledged:
task_queue  50  10
logs_queue  0   0
What does this indicate about task_queue?
medium
A. There are 60 messages waiting or unacknowledged, indicating possible backlog
B. The queue is empty and consumers are caught up
C. There are 50 consumers connected to the queue
D. The queue is paused and not processing messages

Solution

  1. Step 1: Add messages_ready and messages_unacknowledged

    50 + 10 = 60 total messages in or waiting acknowledgment.
  2. Step 2: Interpret the meaning

    High number means messages are waiting or not yet processed, showing backlog.
  3. Final Answer:

    There are 60 messages waiting or unacknowledged, indicating possible backlog -> Option A
  4. Quick Check:

    messages_ready + messages_unacknowledged = backlog [OK]
Hint: Sum ready and unacknowledged messages for total queue depth [OK]
Common Mistakes:
  • Confusing messages with consumer count
  • Ignoring unacknowledged messages
  • Assuming zero means backlog
4. You set an alert on consumer lag but it never triggers even when messages pile up. What is a likely cause?
medium
A. Consumers are processing messages but acknowledgments are delayed
B. The alert threshold is set too high to detect lag
C. The alert monitors only queue depth, not consumer lag
D. RabbitMQ does not support consumer lag monitoring

Solution

  1. Step 1: Understand alert configuration

    If alert threshold is too high, small or moderate lag won't trigger alerts.
  2. Step 2: Check alert settings

    Adjust threshold to a lower value to catch lag early.
  3. Final Answer:

    The alert threshold is set too high to detect lag -> Option B
  4. Quick Check:

    High threshold = no alert trigger [OK]
Hint: Check alert thresholds if alerts never trigger [OK]
Common Mistakes:
  • Assuming RabbitMQ lacks lag monitoring
  • Confusing queue depth with consumer lag
  • Ignoring alert threshold settings
5. You want to create an alert that triggers when the task_queue has more than 100 messages waiting or unacknowledged, and consumer lag exceeds 30 seconds. Which approach is best?
hard
A. Use a monitoring tool to query messages_ready, messages_unacknowledged, and consumer lag metrics, then alert if thresholds exceeded
B. Set RabbitMQ to automatically delete messages after 30 seconds
C. Increase the number of consumers without monitoring queue depth
D. Manually check queue depth every hour and restart consumers if needed

Solution

  1. Step 1: Identify metrics to monitor

    Queue depth is sum of messages_ready and messages_unacknowledged; consumer lag is time messages wait before processing.
  2. Step 2: Use monitoring tool with alert rules

    Set alerts to trigger when queue depth > 100 and lag > 30 seconds for proactive response.
  3. Final Answer:

    Use a monitoring tool to query messages_ready, messages_unacknowledged, and consumer lag metrics, then alert if thresholds exceeded -> Option A
  4. Quick Check:

    Monitor metrics + alert on thresholds = C [OK]
Hint: Combine queue depth and lag metrics in monitoring alerts [OK]
Common Mistakes:
  • Relying on manual checks instead of automated alerts
  • Deleting messages automatically without monitoring
  • Ignoring consumer lag in alerting
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard