Как использовать rotate_logs в файле журнала размером 80+ ГБ для RabbitMQ на сервере Windows

Мне нужно запустить rabbitmqctl rotate_logs в файле журнала rabbitmq размером более 80 ГБ. Когда я попытался запустить это в первый раз, он заморозил кролика, и сообщения не могли быть получены. Заморозка длилась 20 минут, прежде чем мне пришлось убить команду и перезапустить сервер кролика.

Это производственный сервер, и завершить его за небольшой промежуток времени без потери сообщений или убийства брокера было бы оптимальным.

Можно ли закрыть службу, переместить текущий файл журнала в другое место и перезапустить службу, а затем запустить команду rotate_logs?

Я довольно новичок в rabbitmq, и я не уверен, как лучше всего справиться с этим.

Это установлено на сервере Windows 2008 в качестве службы для сайта с интенсивным трафиком (однако очередь сообщений имеет небольшую нагрузку и влияет только на административную сторону вещей).

Любая помощь или понимание будут оценены.


person Keefe Higgins    schedule 03.12.2015    source источник


Ответы (1)


Я столкнулся с похожей ситуацией, но с файлом журнала всего около 4 ГБ вместо 80.

обходной путь, который я использовал, был в значительной степени тем, что вы предложили ... остановите службу, переместите файл журнала и перезапустите службу как можно быстрее.

для меня, в частности, вместо того, чтобы перемещать файл, когда служба была остановлена, я просто переименовал его. Я также написал сценарий командной строки, чтобы сделать эту работу за меня.

это позволило мне остановить службу, переименовать файл и перезапустить службу за считанные секунды.

как только служба была восстановлена ​​и запущена, я мог свободно перемещать/переименовывать/любой большой файл журнала по мере необходимости.

person Derick Bailey    schedule 03.12.2015
comment
У меня еще не было возможности попробовать это, но как только я это сделаю, я отмечу правильный ответ. - person Keefe Higgins; 12.12.2015