Syntax highlighting of devops/rabbitmq

# 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`.