Paramètres de rotation des journaux MongoDB

Je voulais faire la rotation des journaux de MongoDB, alors je l'ai vérifié et défini. (La version est 3.4)

Chose que tu veux faire

Je veux faire pivoter le journal une fois par jour. Je veux nommer le fichier journal après la rotation mongod.log_yyyymmdd. Je veux compresser automatiquement. Je souhaite le supprimer automatiquement après un certain temps au lieu de continuer à l'accumuler.

Ce que j'ai fait

Définir comme suit dans logrotate

# vi /etc/logrotate.d/mongod

/usr/local/var/log/mongodb/mongod.log
{
    missingok
    daily
    dateext
    rotate 30
    create
    compress
    delaycompress
    postrotate
      /bin/kill -SIGUSR1 `cat /var/run/mongodb/mongod.pid 2> /dev/null` 2> /dev/null || true
      find /data/mongodb/logs -type f -size 0 -regextype posix-awk -regex "^\/usr\/local\/var\/log\/mongodb\/mongod\.log\.[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}-[0-9]{2}-[0-9]{2}$" -execdir rm {} \; >/dev/null 2>&1
    endscript
}

Note

Quand je connecte MongoDB avec kill -SIGUSR1, MongoDB crée un fichier journal vide nommé mongod.log.yyyy-mm-ddTxx-xx-xx, donc j'utilise find pour le supprimer.

Si vous choisissez nocreate au lieu de create, MongoDB perdra la trace du fichier journal. MongoDB se termine anormalement au moment de la rotation.

Référence

Automating MongoDB Log Rotation

Recommended Posts

Paramètres de rotation des journaux MongoDB
paramètres de samba
Paramètres VIM
Paramètres pour démarrer avec MongoDB avec python