Start here. This is the direct spoken answer to practice first.
Why this question matters
Dead-letter queues are useful only if the team knows how to operate them. A careless replay can repeat failures or create duplicate side effects.
I would first stop the bleeding by understanding the failure pattern: message type, error reason, first failure time, affected tenant, deployment correlation, and whether new messages still fail. I would inspect a sample of dead-letter messages without replaying everything blindly. If the problem is a code bug or bad mapping, I would fix the handler, deploy it, then replay a small controlled batch.