logRotate
Definição
logRotate
O comando
logRotate
é um comando administrativo que permite a você girar o log do servidor MongoDB e/ou o log de auditoria para evitar que um único arquivo de log consuma muito espaço em disco.Você deve emitir o comando {
logRotate
} no banco debanco de dados admindo .
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Este comando não é suportado em M0, M2, M5 e M10+ clusters. Para obter mais informações, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.adminCommand( { logRotate: <integer or string>, comment: <string> } )
Campos de comando
O comando utiliza os seguintes campos:
Campo | Tipo | Descrição |
---|---|---|
logRotate | inteiro ou string | A tora ou toras a serem rotacionadas, de acordo com o seguinte:
|
comment | string | Opcional. Uma mensagem registrada pelo servidor no arquivo de registro e no arquivo de auditoria no momento da rotação do registro. |
Você também pode girar os registros enviando um sinal do SIGUSR1
para o processo do mongod
.
Por exemplo, se uma instância mongod
em execução tiver um ID de processo (PID) de 2200
, o comando a seguir rotacionará o arquivo de log dessa instância no Linux:
kill -SIGUSR1 2200
Limitações
Sua instância
mongod
precisa estar em execução com a opção--logpath [file]
para usarlogRotate
Auditoria deve ser habilitada para girar o registro de auditoria.
Comportamento
A configuração systemLog.logRotate
ou a opção --logRotate
especifica o comportamento de logRotate
.
Quando systemLog.logRotate
ou --logRotate
são definidos como rename
, logRotate
renomeia o arquivo de log existente anexando o carimbo de data/hora atual ao nome do arquivo. O carimbo de data/hora anexado tem o seguinte formato:
<YYYY>-<mm>-<DD>T<HH>-<MM>-<SS>
Em seguida, logRotate
cria um novo arquivo de log com o mesmo nome originalmente especificado pela configuração systemLog.path
como mongod
ou mongos
.
Quando systemLog.logRotate
ou --logRotate
são definidos como reopen
, logRotate
segue o comportamento típico do Linux/Unix: simplesmente fecha o arquivo de log e reabre um arquivo de log com o mesmo nome. Com reopen
, mongod
espera que outro processo renomeie o arquivo antes da rotação e que a reabertura resulte na criação de um novo arquivo.
Exemplos
O exemplo a seguir alterna o log do servidor e o log de auditoria:
db.adminCommand( { logRotate: 1 } )
O exemplo a seguir alterna apenas o log de auditoria e fornece uma mensagem personalizada para o arquivo de log no momento da rotação:
db.adminCommand( { logRotate: "audit", comment: "Rotating audit log" } )