Versions Compared

Key

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

Introduction

Shinken Entreprise V02.06.00 introduit un nouveau module permettant d'effectuer une sauvegarde automatique à intervalles réguliers de la base de données du Synchronizer.

Cela vous permettra, en cas de mauvaise manipulation, de restaurer facilement une ancienne version.

Par défaut, une sauvegarde est effectuée toutes les heures, et les données sont conservées pendant 21 jours. Ces paramètres sont configurables, et il est possible de définir des périodes pendant lesquelles la fréquence de sauvegarde est différente.

Cette fonctionnalité est activée automatiquement à l'installation d'une version 2.6 (ou ultérieure) mais aussi lors de la mise à jour depuis une version 2.5.

Warning

Ce module ne remplace pas une sauvegarde complète et régulière ! En effet, elle ne sauvegarde que les données de la base MongoDB du Synchronizer en l'état. Les fichiers de configuration, les logs, les SLA, les métriques et les données utilisateur ne sont pas traités par ce module.

Pour la gestion des sauvegardes complètes, veuillez vous référer à Shinken-backup et Shinken-restore, les commandes de sauvegarde et de restauration .


Info

La page Restaurer une sauvegarde automatique de la base de données du Synchronizer explique comment restaurer l'une de ces sauvegardes.


Configuration de la sauvegarde

La sauvegarde est effectuée par un module nommé synchronizer-module-database-backup chargé dans le Synchronizer.

Le fichier de configuration est le suivant : /etc/shinken/modules/synchronizer-module-database-backup.cfg

Info

Lorsque vous modifiez les paramètres de ce module, vous devez redémarrer le Synchronizer pour les prendre en compte.


Voici les paramètres relatifs à la définition des sauvegardes :

Nom du paramètreDescription

Valeur par défaut

backup_rateFréquence de sauvegarde (en minutes)60
enable_specific_backup_interval_during_working_hours

Permet d'activer les périodes "horaires de travail" vous permettant de spécifier une fréquence de sauvegarde différente pour des périodes de temps spécifiques.

  • 0 = Périodes "horaires de travail" non activées
  • 1 = Périodes de travail activées
1
work_hours_startPour chaque jour spécifié dans days_worked, heure de début de la période au format HH:MM
work_hours_endPour chaque jour spécifié dans days_worked, heure de fin de la période au format HH:MM
days_worked

Jours pendant lesquels les "horaires de travail" sont appliqués. 0=lundi, 6=dimanche

Ils sont spécifiés sous la forme d'un intervalle "jour_de_départ"-"jour_de_fin"

Exemple : 0-4 signifie "du lundi au vendredi"


backup_interval_during_working_hoursFréquence de sauvegarde appliquée durant les horaires de travail (en minutes)



Voici les paramètres systèmes du module :

Nom du paramètreDescriptionValeur par défaut
uriURI du serveur MongoDB hébergeant la base du Synchronizermongodb://localhost/?safe=true
databaseBase de données Mongo à sauvegardersynchronizer
use_ssh_tunnel

Si vous souhaitez sécuriser votre connexion mongodb, vous pouvez activer le tunnel ssh use_ssh_tunnel
qui permettra à tous les mongodb d'être cryptés et authentifiés avec SSH

0=False
use_ssh_retry_failureNombre d'essai de création de connexion avec le tunnel ssh avant de remonté une erreur1
ssh_userUtilisateur/fichier clé SSH pour se connecter au serveur mongodbshinken
ssh_keyfileFichier clé SSH pour se connecter au serveur mongodb~shinken/.ssh/id_rsa
ssh_tunnel_timeoutSSH Timeout utilisé pour tester si le tunnel SSH est viable ou non, en secondes5
backup_directoryRépertoire où les sauvegardes seront stockées/var/shinken-user/backup/synchronizer-module-database-backup
backup_nameChaîne de caractère qui sera ajoutée à l'horodatage pour former le nom des fichiers de sauvegardesynchronizer_localhost


Exemple de définition

Dans le répertoire /etc/shinken/modules/, voici un exemple de définition qui permet la définition du module synchronizer-module-database-backup (à placer dans un fichier .cfg)  :

(avertissement) Il est conseillé d'éditer les fichiers .cfg avec l'encodage utf-8

Code Block
languagebash
#===============================================================================
# Configuration Database Backup
#===============================================================================
# Daemons that can load this module:
# - synchronizer
# This module backup the configuration mongo database
#===============================================================================


define module {

    # Shinken Enterprise. Lines added by import core. Do not remove it, it's used by Shinken Enterprise to update your objects if you re-import them.
    _SE_UUID             core-module-91dad8dedeac11e8a43d484d7eb6be52
    _SE_UUID_HASH        83f1c80c198953bd295e3e0b5b285939
    # End of Shinken Enterprise part

    #======== Module identity =========
    # Module name. Must be unique
    module_name                 synchronizer-module-database-backup

    # Module type (to load module code). Do not edit.
    module_type                 synchronizer_module_database_backup

    #======== Database connection =========
    # mongodb uri definition for connecting to the mongodb database. You can find the mongodb uri
    # syntax at https://docs.mongodb.com/manual/reference/connection-string/
    uri                  mongodb://localhost/?w=1&fsync=false

    # If you want to securize your mongodb connection you can enable the ssh use_ssh_tunnel that will
    # allow all mongodb to be encrypted & authentificated with SSH
    # Should use a SSH tunnel (Default 0=False)
    # use_ssh_tunnel          0

    # If the SSH connection goes wrong, then retry use_ssh_retry_failure time raise a error
    # Default: 1
    # use_ssh_retry_failure   1

    # SSH user/keyfile in order to connect to the mongodb server.
    # Default: shinken
    # ssh_user                shinken

    # Default: ~shinken/.ssh/id_rsa
    # ssh_keyfile             ~shinken/.ssh/id_rsa

    # SSH Timeout used to test if the SSH tunnel is viable or not, in seconds
    # Default: 5
    # ssh_tunnel_timeout        5

    # Which database is used to store synchronizer data
    database             synchronizer


    #======== Backup Rate =========
    # The default backup rate in minutes
    backup_rate                 60

    #======== Work hours  =========
    # You can use the work hours to define a period of time. During this time period, the rate will be modified. Disable by default
    enable_specific_backup_interval_during_working_hours             0

    # Set the works hours. Format is HH:MM
    #work_hours_start            08:00
    #work_hours_end              18:00
    # The days worked in the week to 0 (monday) to 6 (sunday). If not defined, all the days use this timeperiod
    #days_worked                 0-4

    # Rate to backup during non works hours in minutes
    #backup_interval_during_working_hours         15


    #======== Location and name =========
    backup_directory            /var/shinken-user/backup/synchronizer-module-database-backup
    backup_name                 synchronizer_localhost

    #======== Retention =========
    retention_days              21
}