Thank you for reading this post, don't forget to subscribe!
Забивался диск в каталоге базы RabbitMQ — /var/lib/rabbitmq/mnesia
.
Быстрый фикс — перенести его базу на отдельный диск.
Создаём новый каталог:
root@bttrm-prod-console:/home/admin# cd /data/ && mkdir rabbitdb
Обновляем конфиг реббита /etc/rabbitmq/rabbitmq-env.conf
— задаём переменную RABBITMQ_MNESIA_BASE
:
…
RABBITMQ_MNESIA_BASE=/data/rabbitdb
Останавливаем RabbitMQ:
root@bttrm-prod-console:/data# systemctl stop rabbitmq-server
Копируем данные из старого каталога и меняем владельца:
root@bttrm-prod-console:/data# cp -r /var/lib/rabbitmq/mnesia/* /data/rabbitdb/
root@bttrm-prod-console:/data# chown -R rabbitmq:rabbitmq rabbitdb/
Запускаем его:
root@bttrm-prod-console:/data# systemctl start rabbitmq-server
Проверяем статус:
root@bttrm-prod-console:/data# rabbitmqctl status
Status of node 'rabbit@bttrm-prod-console' …
[{pid,30368},
{running_applications,
[{rabbitmq_management,"RabbitMQ Management Console","3.6.6"},
{rabbitmq_management_agent,"RabbitMQ Management Agent","3.6.6"},
{rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.6.6"},
…
Доступное ему место и Database directory path:
начали проверять — почему же RabbitMQ так засрал диск: оказалось, что в очередях скопилось 2 миллиона сообщений, которые не читались, потому что задачи supervisor
-а, которые должны получать их, не были запущены.
Просмотреть список сообщений в очередях можно с помощью rabbitadmin
:
root@bttrm-prod-console:/home/admin# rabbitmqadmin list queues -u adminuser -p p@ssw0rd
+------------------------+----------+
| name | messages |
+------------------------+----------+
| purchases | 395 |
…