# RabbitMQ
[https://www.rabbitmq.com](https://www.rabbitmq.com)
[RabbitMQ для профессионалов (RUS)](http://onreader.mdl.ru/RabbitMQInDepth/content/index.html)
[AMQP wiki](https://ru.wikipedia.org/wiki/AMQP)
## Run
https://www.rabbitmq.com/download.html
```bash
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.11-management
```
## CLI
```bash
# --- list queues
rabbitmqctl list_queues
# --- Forgotten acknowledgment
rabbitmqctl list_queues name messages_ready messages_unacknowledged
```
## Monitoring with Grafana
Активация мониторинга
https://www.rabbitmq.com/monitoring.html
```bash
rabbitmq-plugins enable rabbitmq_prometheus
```
Dashboards:
https://grafana.com/grafana/dashboards/10991-rabbitmq-overview/
## Troubleshooting
### Durable exchanges doesnt save
После рестарта контейнера rabbitmq со смонтированными томами, durable exchange всё равно не сохраняются.
Причина в том, что tabbitmq хранит данные в директории формата NODENAME@HOSTNAME, а HOSTNAME при перезапуске контейнера всегда новый. Необходимо в команде `docker run` или в *docker-compose* зафиксировать `hostname`.