Versions Compared

Key

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

 Compactage dans la base

Nous mettons à disposition un script de compactage des données de MongoDB


Il est important de noter que pendant que le script va fonctionner, il bloquera la base

se bloquer

et les opérations de Shinken ne pourront pas se faire.

Nous vous conseillons de faire cette opération avec Shinken éteint.

Le script de compactage est launch_mongo_compaction.py

Code Block
Attention : ce script ne fonctionne que sur un shinken supérieur à la v02.07.00


View file
namelaunch_mongo_compaction.py
height150

Il se lance de la manière suivante :


Code Block
languagebash
themeEmacs
launch_mongo_compaction.py -H IP_SERVER --ssh-user=shinken --connection-method=ssh --ssh-keyfile=~shinken/.ssh/id_rsa
  • -H : adresse publique du serveur à vérifier
    • ou localhost si vous souhaitez vérifier le serveur sur lequel s'exécute le script
  • --connection-method=ssh : à n'utiliser que pour les serveurs distants afin de créer un tunnel SSH vers le serveur et protéger les accès
  • --ssh-user : utilisateur à utiliser pour les serveurs distants pour les connexions SSH
  • --ssh-keyfile : clé SSH à utiliser pour les serveurs distants


Info

ATTENTION : Pour rappel, lancer cette commande va bloquer la base pendant l'opération, qui va dépendre de la vitesse du serveur, notamment de la vitesse de ses disques, car toutes les données vont être lues/réécrites. Il faut que Shinken soit arrêté pendant cette opération.


Au lancement, il va parcourir les bases de données et va les compacter. Voici une exécution du script :

Pour information, la base de données de ce lancement faisait 600 Mo sur disque pour un volume de données en base de 1.5 Go.


Info

Cette procédure vous permettra de récupérer de l'espace disque mais n'est pas magique.

Il est important que vous limitiez les données stockées dans le temps ( SLA, Événement ) pour que l'espace consommé se limite. Pour cela, se référer à la page précédente : MongoDB - Méthode 1: Ne garder que les données pertinantes