Sommaire

Rotation des log

Pour mettre en place la rotation des log des serveurs MongoDB, il faut ajouter des entrées au service de crontab  :

  • soit directement dans le fichier /etc/crontab 
  • soit dans un fichier nommé /etc/cron.d/mongodb_logs ( par exemple )

RHEL / CentOS 7 et RHEL / Alma / Rocky 8 et RHEL / Alma / Rocky 9

Pour les systèmes d'exploitation utilisant une distribution RHEL / Alma / Rocky il faut ajouter les entrées suivantes :

Rajout de la rotation des logs de MongoDB dans le service de crontab
# A 3h01 on demande à mongo, mongos et mongo-configsrv de tourner son fichier de log
1 3 * * * root test -e /var/run/mongodb/mongod.pid && kill -USR1 `cat /var/run/mongodb/mongod.pid`
1 3 * * * root test -e /var/run/mongodb/mongos.pid && kill -USR1 `cat /var/run/mongodb/mongos.pid`
1 3 * * * root test -e /var/run/mongodb/mongo-configsrv.pid && kill -USR1 `cat /var/run/mongodb/mongo-configsrv.pid`

#A 3h02 on supprime les logs plus vieux de 7jours
2 3 * * * root find /var/log/mongodb/ -name "*.log.*" -type f -mtime +7 | xargs /bin/rm -f

Et ensuite recharger le service:

Relance du service de crontab
systemctl reload crond

Debian 13

Pour les systèmes d'exploitation utilisant une distribution Debian 13, il faut ajouter les entrées suivantes

Rajout de la rotation des logs de MongoDB dans le service de crontab
# A 3h01 on demande à mongo, mongos et mongo-configsrv de tourner son fichier de log
1 3 * * * root test -e /var/run/mongod.pid && kill -USR1 `cat /var/run/mongod.pid`
1 3 * * * root test -e /var/run/mongos.pid && kill -USR1 `cat /var/run/mongos.pid`
1 3 * * * root test -e /var/run/mongo-configsrv.pid && kill -USR1 `cat /var/run/mongo-configsrv.pid`

#A 3h02 on supprime les logs plus vieux de 7jours
2 3 * * * root find /var/log/mongodb/ -name "*.log.*" -type f -mtime +7 | xargs /bin/rm -f

Et ensuite relancer le service:

Relance du service de crontab
systemctl restart cron