Voici la méthode GUI :
Allez dans le menu "Management"
- 1) Sous-menu "Snapshot et restauration"
2) Enregistrer un référentiel
- 1) Donnez un nom à votre référentiel ("mon_repo_win")
2) Système de fichiers (partagés ou local)
3) Assurez-vous que les "Snapshots de source uniquement" soit décauché
4) Suivant
- 1) Définir l'emplacement
2) Compresser les snapshots (pourquoi pas)
3) 4 ) et 5 ) Définissez suivant vos exigences
6) "Référentiel en lecture seule" désactivé
7) Enregistrer
Procédez comme suit :
Il faut configurer et tester le paramètre "path.repo"
- 1) ouvrez le fichier "D:\ELK\elasticsearch-9.0.3\config\elasticsearch.yml"
2) écrivez à la fin :
3) path.repo: ["D:\\ELK_Snapshots"]
4) remplacez au besoin le répertoire par le vôtre.
5) vous pouvez entrer plusieurs répertoires de cette façon :
6) path.repo: ["D:\\ELK_Snapshots", "E:\\Sauvegardes\\ES"]
7) Enregistrez et fermez le fichier,
8) Créez un répertoire "D:\ELK_Snapshots", et assurez-vous que les utilisateurs normaux peuvent y avoir accès.
9) (Re-)Lancez elastic et kibana.
10) dans localhost:5601 :
- 1) Cliquez sur le menu,
2) Défilez vers le bas, avec la barre de défilement,
3) Cliquez sur "Outils de développement"
- 1) 2 ) Placez-vous ici (par défaut, vous arrivez ici)
3) Effacez au besoin la zone texte, puis collez-y la requête suivante :
Code : Tout sélectionner
PUT _snapshot/mon_repo_win
{
"type": "fs",
"settings": {
"location": "D:\\ELK_Snapshots",
"compress": true
}
}
- 3) Placez-vous après "PUT", puis tapez [ctrl]+[Entrée]
4) Vous devez avoir la réponse correcte, comme ici.
5) Ceci valide, et crée un repostory.
Vous devez avoir l'écran suivant :
- 1) Vous pouvez créer une politique de sauvegarde ici
2) Créons plutôt un snapshot unique (ne pas cliquer, ça ouvre une page de documentation).
Code : Tout sélectionner
PUT _snapshot/mon_repo_win/snap_du_16_octobre?wait_for_completion=true
{
"indices": "*",
"ignore_unavailable": true,
"include_global_state": true
}
Code : Tout sélectionner
GET _snapshot/mon_repo_win/_all
Code : Tout sélectionner
GET _snapshot/mon_repo_win/snap_du_16_octobre
Méthode en CLI :
(par ChatGPT)
— Créer un Repository de snapshot
Avant de pouvoir faire un snapshot, il faut dire à Elasticsearch où le stocker.
Code : Tout sélectionner
PUT _snapshot/mon_repo_snap
{
"type": "fs",
"settings": {
"location": "/mnt/backups/es_snapshots",
"compress": true
}
}
mon_repo_snap → nom du repo (tu peux le choisir)
location → doit être un chemin accessible à tous les nœuds du cluster
Ce répertoire doit être déclaré dans elasticsearch.yml via :
path.repo: ["/mnt/backups/es_snapshots"]
Une fois le repository créé et enregistré, tu peux lancer un snapshot :
Code : Tout sélectionner
PUT _snapshot/mon_repo_snap/snap_du_3_octobre?wait_for_completion=true
{
"indices": "*",
"ignore_unavailable": true,
"include_global_state": true
}
- ○ snap_du_3_octobre → nom du snapshot (personnalisable)
○ indices: "*" → tous les index, ou tu peux en lister certains séparés par des virgules
○ wait_for_completion=true → pour que la requête ne rende la main qu'une fois terminé (facile à suivre manuellement)
Tu peux vérifier la liste des snapshots avec :
Code : Tout sélectionner
GET _snapshot/mon_repo_snap/_all
Code : Tout sélectionner
GET _snapshot/mon_repo_snap/snap_du_3_octobre
Si tu dois restaurer :
Code : Tout sélectionner
POST _snapshot/mon_repo_snap/snap_du_3_octobre/_restore
{
"indices": "*",
"include_global_state": true
}
Tu peux automatiser les snapshots avec :
• ILM / SLM (Index Lifecycle / Snapshot Lifecycle Management) dans Kibana
• Une simple tâche cron + curl si tu veux faire simple en auto.