| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Contexte
Afin de prévenir d'une la perte de données après un crash d'un ou de plusieurs de vos serveurs utilisés dans votre l'architecture de Shinken, nous vous conseillons il est recommandé d'utiliser les commandes shinken-backup et shinken-restore.
Ces deux commandes vous permettront permettent de sauvegarder ou de restaurer tout ou une partie d'un serveur de votre l'architecture de Shinken.
Les commandes shinken-backup et shinken-restore permettent de restaurer automatiquement les données suivantes :
- Les données sur les add-ons ( par exemple l'add-on Nagvis )
- Les données de configuration des éléments de Shinken comme les hôtes, clusters, checks ... ( il est possible d'anonymiser ces données )
- Les données du bac à événements
- Les logs
- Les données des modules NON fournis par par Shinken Enterprise
- Les données de la métrologie
- Les données des SLA
- Les données des utilisateurs
| Note |
|---|
La rétention effectuée par le Scheduler n'est PAS sauvegardée et restaurée automatiquement par ces scripts. Il est tout de même possible de le faire manuellement en suivant cette page de documentation : Sauvegarde et restauration manuelle de la rétention |
Commande de sauvegarde ( shinken-backup )
Utilisation
La commande de base pour la sauvegarde complète d'un serveur shinken est la suivante :
| Code Block | ||||
|---|---|---|---|---|
| ||||
shinken-backup |
Les différentes options possibles :
| Info |
|---|
La commande shinken-backup ne peut pas être exécutée dans les dossiers /etc/shinken et /etc/shinken-user |
Les options disponibles
| Scroll Title | |||||||
|---|---|---|---|---|---|---|---|
| |||||||
|
-h
|
|
|
|
|
|
|
|
|
Permet de choisir le nom du répertoire contenant la sauvegarde
( par défaut il sera
|
( Par défaut, la sauvegarde se fait dans le répertoire où est lancée la commande )
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sauvegarde les données SLA
|
|
|
| Info |
|---|
La commande shinken-backup ne peut pas être exécutée dans les dossiers Attention, pensez bien à utiliser cet outil générique sur le bon serveur. Par exemple, sauvegarder les SLA depuis un serveur Poller ne sera pas cohérent. Ou encore, pour sauvegarder la configuration de Shinken, placez-vous sur le serveur hébergeant le duo Arbiter / Synchronizer. |
Sauvegarde de données de configuration chiffrées
|
| Include Page | ||||
|---|---|---|---|---|
|
Sauvegarde de données de configuration chiffrées
Lorsque la sauvegarde de données de configuration avec des données protégées est effectuée, shinken-backup affiche un avertissement si la clé n'a pas été sauvegardée.
La sauvegarde est tout de même effectuée, mais il faut effectuer une sauvegarde de la clé en utilisant la commande shinken-protected-fields-keyfile-export avant toute autre opération impliquant un changement de clé ( voir la page shinken-protected-fields-keyfile-export ).
Le message suivant apparaîtra s'il n'y a pas eu de sauvegarde de la clé avant la sauvegarde de la configuration :
The protected fields key from this backup looks like it has never been saved
Si la sauvegarde de la clé a été effectuée par la suite, il est possible d'ignorer ce message et restaurer la clé selon la procédure de restauration habituelle ( voir la page
Lorsque la sauvegarde de données de configuration avec des données protégées est effectuée, shinken-backup affiche un avertissement si la clé n'a pas été sauvegardée.
La sauvegarde est tout de même effectuée, mais vous devez effectuer une sauvegarde de la clé en utilisant la commande shinken-protected-fields-keyfile-export avant toute autre opération impliquant un changement de clé.
Le message suivant apparaîtra si vous n'avez pas effectué de sauvegarde de la clé avant la sauvegarde de la configuration :
The protected fields key from this backup looks like it has never been saved
Si la sauvegarde de la clé a été effectuée par la suite, vous pouvez ignorer ce message et restaurer la clé selon la procédure de restauration habituelle.
| Panel |
|---|
Sauvegarde d'une configuration anonymisée
).
| Panel |
|---|
| Anchor | ||||
|---|---|---|---|---|
|
Sauvegarde d'une configuration anonymisée
Afin de transmettre une configuration au support, il est possible d'anonymiser la configuration lors de la sauvegarde.
L'anonymisation est
Afin de transmettre une configuration au support, il est possible d'anonymiser la configuration lors de la sauvegarde.
L'anonymisation est réalisée pour les données présentes dans la base de données du Synchronizer. Si l'option --configuration-anonymous est utilisée, les autres options ( --sla par exemple ) sont ignorées. Les fichiers de configuration des démons et de l'architecture de Shinken ne sont pas sauvegardé.
Cette étape est réalisée entre la récupération des données dans la base et l'écriture des fichiers de sauvegarde, la base de données n'est donc pas impactée par ce fonctionnement. Le tableau suivant présente les propriétés qui seront remplacées avant d'être écrites dans les fichiers de sauvegarde.
| Type de donnée | Valeur remplacée | Description |
|---|---|---|
| address | clean address | Permets de masquer les adresses des équipements. |
| check_command | clean_command | Permets de masquer les commandes : une fois restaurée, la configuration pourra démarrer sans effectuer de check. |
| poller_tag | La valeur est supprimée pour permettre à la configuration de démarrer. | |
| reactionner_tag | La valeur est supprimée pour permettre à la configuration de démarrer. | |
| realm | La valeur est supprimée pour permettre à la configuration de démarrer. | |
| password | clean | Les mots de passe sont effacés. |
Toutes les données utilisateur, chiffrées ou non, présentes dans le système de champs protégé sont également remplacée par la valeur "clean". Pour connaître la liste des champs protégés, utilisez la commande shinken-protected-fields-data-manage.
Le nom de la sauvegarde généré sera succédé de "--anonymous" afin de le distinguer des sauvegardes par défaut.
| Info |
|---|
Exemple de nom de sauvegarde anonyme : 2020-10-27__10-49-55__V02.08.02-001_BUILD066.fr--anonymous |
| Info |
|---|
Les données ne sont ni effacées ni modifiées sur le serveur sur lequel le shinken-backup est effectué. Elles sont simplement remplacées avant d'être écrites dans les fichiers de sauvegardes. |
| Info |
|---|
La sauvegarde réalisée n'est pas chiffrée, car toutes les données présentant un risque ont été remplacées. |
Exemples
Sauvegarde complète d'un serveur hébergeant l'ensemble des démons
| Code Block | ||||
|---|---|---|---|---|
| ||||
root@vm-shinkenroot@vm-shinken: ~ $ shinken-backup Saving Events Events save size: 51M Saving Sla Sla save size: 147M Saving User User save size: 136K Saving Configuration Configuration save size: 17M Saving Metrology Metrology save size: 47M Saving Logs Logs save size: 1.1G Saving addons data Addons save size: 4.8M Saving custom modules data There is no custom modules in database to backup. Done : your backup directory is /root/shinken-backups/2021-02-02__08-22-45__V02.08.02-002.fr |
Sauvegarde sur un serveur hébergeant le démon Synchronizer
Sauvegarde de la configuration :
| Panel |
|---|
Sauvegarde complète :
| Panel |
|---|
Done : your backup directory is /root/shinken-backups/2021-02-02__08-22-45__V02.08.02-002.fr
|
Sauvegarde sur un serveur hébergeant le démon Synchronizer
Sauvegarde de la configuration :
| Panel |
|---|
Sauvegarde complète :
| Panel |
|---|
Erreur lors du Backup
Si le backup nécessite l'archivage de données depuis la base MongoDB, il est essentiel de vérifier la connectivité avant de lancer la sauvegarde de Shinken. En cas d'inaccessibilité de la base, un message s'affichera, indiquant les paramètres utilisés pour la tentative de connexion."
| Panel |
|---|
Lorsqu'une erreur survient pendant la sauvegarde, un message d'erreur indique la section où l'erreur s'est produite. Le dossier qui aurait dû contenir le contenu de la sauvegarde contiendra les logs d'erreurs.
Dans ce message est précisé le nom du dossier créé :
| Panel |
|---|
| Note |
|---|
La partie floutée du chemin de la capture d'écran correspond au dossier créé par le shinken-restore. |
Commande de restauration ( shinken-restore )
Utilisation
| Code Block | ||||
|---|---|---|---|---|
| ||||
shinken-restore DIRECTORY-TO-RESTORE |
Le dossier "DIRECTORY-TO-RESTORE" doit contenir les dossiers de sauvegardes comme :
- configuration/
- context/
- events/
- logs/
- metrology/
- sla/
- user/
Les options disponibles
Erreur lors du Backup
Lorsqu'une erreur arrive pendant le backup, on a un message d'erreur nous indiquant la section où l'erreur est survenue, le dossier qui aurait du contenir le contenu du backup va contenir les logs d'erreurs.
Dans ce message est précisé le nom du dossier créé :
| Panel |
|---|
| Note |
|---|
La partie floutée du chemin dans l'image suivante correspond au dossier créé par le shinken-restore. |
Commande de restauration ( shinken-restore )
Utilisation
| Code Block |
|---|
shinken-restore DIRECTORY-TO-RESTORE |
Le dossier "DIRECTORY-TO-RESTORE" doit contenir les dossiers de sauvegardes comme :
- configuration/
- context/
- events/
- logs/
- metrology/
- sla/
- user/
Les différentes options possibles :
Affiche l'aide de la commande
Restaure les configurations et les données des addons ( exemple : Nagvis ) présent dans l'archive.
Restaure les données de configuration
Pour une sauvegarde contenant des données protégées, restaure également le hash de la clé de chiffrement spécifiée. Il s'agit du résultat de la commande shinken-protected-fields-keyfile-export.
Cette option restaure uniquement les données de la configuration, sans restaurer les fichiers de configuration ( .cfg ).
Cette option est pratique pour transférer la politique de supervision d'une préproduction vers une production ( ou inversement ), sans changer les fichiers de définition des démons.
Restaure les données du bac à événements
Restaure les logs
Tous
Restaure les données de métrologie
Restaure les données de tous les modules NON fournies par Shinken Enterprise présent dans l'archive.
( exemple : le module mssql_export développé par un tiers )
Restaure les données d'un type de module NON fourni par Shinken Enterprise.
Uniquement utilisable avec l'option --modules/-M.
| Scroll Title | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Restaure les données SLA.
|
|
|
|
|
|
|
|
|
|
|
|
| Include Page | ||||
|---|---|---|---|---|
|
Restauration d'une base de données de configuration dont les données sensibles sont chiffrées
Si une clé est déjà présente sur le serveur et qu'elle est identique à celle de la sauvegarde, shinken-restore restaurera cette sauvegarde en utilisant la clé.
Si la clé n'a pas été exportée, shinken-restore affichera un avertissement vous signalant qu'elle est automatiquement exportée dans un fichier temporaire, en vous enjoignant de le déplacer en lieu sûr.
| Panel |
|---|
Si les deux clés sont différentes vous devez il faut spécifier l'option --with-key-backup suivi du l'export de la clé, qui vous permet de faire la restauration et de placer automatiquement la clé fournie.
En suivant, vous devrez il faut redémarrer le Synchronizer.
- Le Synchronizer refusera de démarrer tant que la clé n'est pas restaurée.
Si vous avez égaré votre clé, nous vous conseillons de lire la page de la documentation "la clé a été égaré, il est possible de restaurer la clé par l'intermédiaire du support Shinken ( voir la page shinken-protected-fields-keyfile-rescue-from-backup". Cette commande va vous permettre de restaurer votre clé par l'intermédiaire du support Shinken. ).
| Panel |
|---|
Exemples
Restauration d'une sauvegarde complète de Shinken depuis le dossier ~/shinken-backups-backups
| Code Block | ||||
|---|---|---|---|---|
| ||||
root@vm-shinken: ~/shinken-backups $ shinken-restore 2020-10-27__10-47-43__V02.08.02-001_BUILD066.fr__crypted-backup2 Stopping Shinken before restoring Restoring from 02.08.02-001_BUILD066.fr to 02.08.02-001_BUILD066.fr -Restoring Sla DONE -Restoring User DONE -Restoring Configuration DONE -Restoring Metrology DONE -Restoring Logs DONE Sanatizing your restored data fix_double_link : skip (unecessary) fix_double_sync_keys : skip (unecessary) fix_default_item_se_uuid : skip (unecessary) fix_remove_shinken_core : skip (unecessary) fix_remove_deprecated_check : skip (unecessary) fix_remove_undefined_aix_templates : skip (unecessary) fix_flapping_thresholds : skip (unecessary) fix_business_impact : skip (unecessary) Done. You can restart your shinken with /etc/init.d/shinken start |
| Info | |||||||
|---|---|---|---|---|---|---|---|
Après la restauration des données, des scripts de "Sanatize" actions automatiques ( sanitizes ) sont lancés. Ces scripts actions permettent de réparer certaines incohérences dans vos données en cas de besoin, si nécessaire, de mettre les données à jours vers la version de Shinken où sont restaurées les données. Une fois la restauration terminée, vous devez démarrer Shinken:
|
Restauration d'une sauvegarde de la configuration de Shinken, lancé depuis le serveur hébergeant l'Arbiter/Synchronizer :
| Code Block | ||||
|---|---|---|---|---|
| ||||
root@vm-shinken: ~/shinken-backups $ shinken-restore --configuration 2020-10-27__10-47-43__V02.08.02-001_BUILD066.fr__crypted-backup2 Stopping Shinken before restoring Restoring from 02.08.02-001_BUILD066.fr to 02.08.02-001_BUILD066.fr -Restoring Configuration DONE Sanatizing your restored data fix_double_link : executed [OK] fix_double_sync_keys : skip (unecessary) fix_default_item_se_uuid : skip (unecessary) fix_remove_shinken_core : skip (unecessary) fix_remove_deprecated_check : skip (unecessary) fix_remove_undefined_aix_templates : skip (unecessary) fix_flapping_thresholds : skip (unecessary) fix_business_impact : skip (unecessary) Done. You can restart your shinken with /etc/init.d/shinken start |
Restauration d'une sauvegarde des données de l'utilisateur "monutilisateur" de Shinken ( portails, listes, favoris, tableaux de bord ), lancé depuis le serveur hébergeant le Broker
| Code Block | ||||
|---|---|---|---|---|
| ||||
root@vm-shinken: ~/shinken-backups $ shinken-restore -u --restore-only-user monutilisateur 2020-10-27__10-47-43__V02.08.02-001_BUILD066.fr__crypted-backup2 Restoring from 02.08.02-001_BUILD066.fr to 02.08.02-001_BUILD066.fr -Restoring User Restoring only the user monutilisateur Restore of the user monutilisateur data is OK |
Restauration avec une sauvegarde contenant seulement certaines parties
| Code Block | ||||
|---|---|---|---|---|
| ||||
root@vm-shinken: ~/shinken-backups
$ shinken-restore 2021-04-13__12-18-24__V02.08.02-004_BUILD08.fr/
Restoring from 02.08.02-004_BUILD08.fr to 02.08.02-004_BUILD08.fr
=> Restoring Configuration :
=> Checking encryption status for your current database : NOT ENCRYPTED
=> The keyfile used in the backup is the same as the one from the current configuration.
=> Stopping Shinken before restoring : DONE
=> Restoring configuration database : DONE
The backup you are restoring contains a encrypted Synchronizer database.
=> Setting addons state
nagvis : ENABLED
- [ WARNING ] Cannot find local broker daemon configuration in /etc/shinken/brokers. The 'Livestatus' module must be enabled manually in your broker configuration file for this addon to work properly.
nagvis-shinken-architecture : ENABLED
- [ WARNING ] Cannot find local broker daemon configuration in /etc/shinken/brokers. The 'Livestatus' module must be enabled manually in your broker configuration file for this addon to work properly.
- [ WARNING ] Cannot find local arbiter daemon configuration in /etc/shinken/arbiters. The 'architecture-export' module must be enabled manually in your arbiter configuration file for this addon to work properly.
=> Restoring configuration files : DONE
=> Restoring configuration : DONE
=> Restoring Sla : SKIPPED
No sla data to restore in /tmp/shinken-backups/2021-04-13__12-18-24__V02.08.02-004_BUILD08.fr
=> Restoring Events : SKIPPED
No events data to restore in /tmp/shinken-backups/2021-04-13__12-18-24__V02.08.02-004_BUILD08.fr
=> Restoring User : SKIPPED
No user data to restore in /tmp/shinken-backups/2021-04-13__12-18-24__V02.08.02-004_BUILD08.fr
=> Restoring Metrology : SKIPPED
No metrology data to restore in /tmp/shinken-backups/2021-04-13__12-18-24__V02.08.02-004_BUILD08.fr
=> Restoring Logs : DONE
=> Restoring Addons : DONE
=> Restoring custom modules data : SKIPPED
No custom modules data to restore in /tmp/shinken-backups/2021-04-13__12-18-24__V02.08.02-004_BUILD08.fr
Sanatizing your restored configuration for this version of Shinken
fix_double_sync_keys : skip (unecessary)
fix_default_item_se_uuid : skip (unecessary)
fix_remove_shinken_core : skip (unecessary)
fix_remove_deprecated_check : skip (unecessary)
fix_remove_undefined_aix_templates : skip (unecessary)
fix_flapping_thresholds : skip (unecessary)
fix_business_impact : skip (unecessary)
fix_host_name_inheritance : skip (unecessary)
fix_bp_rule_args : skip (unecessary)
fix_uuid_in_sla_info : skip (unecessary)
fix_synchronizer_install_missing_addons : skip (unecessary)
fix_missing_skeletons : skip (unecessary)
fix_missing_sources : executed [OK]
fix_update_protected_fields_parameters : skip (unecessary)
fix_all_move_overload_files : skip (unecessary)
remove_hostgroups_in_working_area : skip (unecessary)
make_index_for_sla_module : skip (unecessary)
migrate_links_name_into_id : skip (unecessary)
fix_double_link : skip (unecessary)
fix_service_overrides_encryption : skip (unecessary)
fix_enable_synchronizer_database_module : skip (unecessary)
fix_escape_properties_for_xss : skip (unecessary)
add_internal_option_to_retention_mongo_cfg : skip (unecessary)
add_ssl_architecture_export : skip (unecessary)
add_ssl_shinken_listener : skip (unecessary)
add_rules_path_discovery : skip (unecessary)
add_nmap_mac_prefixes_path_discovery : skip (unecessary)
update_notes_multi_url_syntax : skip (unecessary)
update_synchronizer_collector_linker_collection_for_cipher_transformation : skip (unecessary)
remove_pidfile_comment_in_mongodb_config_files : executed [OK]
cleanup_monitoring_pack : skip (unecessary)
remove_presence_protection : skip (unecessary)
fix_new_spare_daemon_broker_option : skip (unecessary)
change_work_area_info_for_multiple_users : skip (unecessary)
rename_graphite_scheduler_checks_metrics_files : skip (unecessary)
replace_duplicate_widgets_uuids : skip (unecessary)
add_sla_output_store_and_worker_options : skip (unecessary)
add_retry_options_to_synchronizer_import : skip (unecessary)
add_map_realm_layout_to_architecture_export_module : skip (unecessary)
clean_old_nagvis_shinken_tmp_files : skip (unecessary)
deleted_service_override_useless : skip (unecessary)
Restoration done. You can restart your Shinken with /etc/init.d/shinken start
|
Erreurs lors de la restauration
Lorsqu'une erreur arrive pendant le restore, on a un message d'erreur nous indiquant quindique qu'une erreur est survenue dans une section en particulier.
Un log d'erreur est alors créé dans le dossier du backup utilisé par le script.
| Panel |
|---|
| Note |
|---|
La partie floutée du chemin de la capture d'écran correspond au dossier que l'on donne en paramètre au shinken-restore. |








