A continuación, desarrollaremos los pasos a seguir para la compactación de base de datos de mongo y así poder liberar espacio en el filesystem /data, en el caso de NMIS 8.
Situación previa
El cliente comenta que la partición /data tiene demasiado espacio utilizado y está provocando que NMIS y sus módulos funcionen de manera incorrecta.
...
Se recomienda realizar la compactación de la base de datos si es que no le interesa un histórico más allá de un año.
Pasos a seguir para la compactación
1. Para este ejemplo, se purgan las colecciones de mongo "events", "actionlog" y "rawlogs" removiendo todo lo anterior a la fecha del miércoles 1 de enero de 2020 (1579651200 en formato Epoch).
...
mongo -u opUserRW -p op42flow42 nmis --eval 'db.getCollection("events").remove({time: {$lt: 1579651200}})'
mongo -u opUserRW -p op42flow42 nmis --eval 'db.getCollection("actionlog").remove({time: {$lt: 1579651200}})'
mongo -u opUserRW -p op42flow42 nmis --eval 'db.getCollection("rawlogs").remove({time: {$lt: 1579651200}})'
2. Se compactan cada una de las colecciones purgadas para liberar el espacio en disco, mediante la ejecución de los siguientes comandos:
mongo -u opUserRW -p op42flow42 nmis
db.runCommand({compact: 'events'})
db.runCommand({compact: 'rawlogs'})
db.runCommand({compact: 'actionlog'})
3. Al final, se logra la reducción de /data a 70%: