Page 1 sur 1

4. Les snapshot ELK

Posté : 20 oct. 2025, 09:09
par admin
Nous allons maintenant créer un Snapshot, afin de pouvoir sauvegarder nos donnés kibana, ou elastic. Et les restaurais au cas où...


Voici la méthode GUI :
1.png
1.png (363.3 Kio) Vu 1647 fois





Allez dans le menu "Management"
2.png
2.png (275.59 Kio) Vu 1647 fois
  • 1) Sous-menu "Snapshot et restauration"
    2) Enregistrer un référentiel

3.png
3.png (169.99 Kio) Vu 1647 fois
  • 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
4.png
4.png (205.42 Kio) Vu 1647 fois
  • 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
Pour l'instant, il y a une erreur. Et c'est normal, on a pas encore pas encore définis "path.repo", dans elesticsearch.yml
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 :
5.png
5.png (184.55 Kio) Vu 1647 fois
  • 1) Cliquez sur le menu,
    2) Défilez vers le bas, avec la barre de défilement,
    3) Cliquez sur "Outils de développement"
6.png
6.png (58.24 Kio) Vu 1647 fois
  • 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.
Revenez dans "Menu Kibana -> Management -> Snapshot et restauration", comme tout au début.

Vous devez avoir l'écran suivant :
7.png
7.png (118.33 Kio) Vu 1647 fois
  • 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).
Allez dans outils de développement :
8.png
8.png (184.55 Kio) Vu 1647 fois

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
}

Tu peux vérifier la liste des snapshots avec :

Code : Tout sélectionner

GET _snapshot/mon_repo_win/_all
Ou vérifier l’état du snapshot en cours :

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.
👉 Exemple avec un répertoire partagé sur le serveur :

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"]
➡️ Ensuite, tu dois redémarrer Elasticsearch pour qu’il prenne en compte path.repo.

📸 2️⃣️— Lancer un snapshotot
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 aussi planifier cela via Kibana → Dev Tools si tu préfères une interface.

🧾 3️⃣️— Vérifier le snapshotot
Tu peux vérifier la liste des snapshots avec :

Code : Tout sélectionner

GET _snapshot/mon_repo_snap/_all
Ou vérifier l’état du snapshot en cours :

Code : Tout sélectionner

GET _snapshot/mon_repo_snap/snap_du_3_octobre
🌀 4️⃣️— Restaurer un snapshot (au besoin)n)
Si tu dois restaurer :

Code : Tout sélectionner

POST _snapshot/mon_repo_snap/snap_du_3_octobre/_restore
{
  "indices": "*",
  "include_global_state": true
}
⚠️ Attention : restaurer peut écraser des index existants. Il vaut mieux restaurer dans un cluster de test ou renommer les index.

💡 Astuce Bonus
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.