Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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'})

Image Modified

3. Al final, se logra la reducción de /data a 70%:

Image Modified