A
u
Belaid Youba Hadj Arab, Etienne Deneuve
Nov 30, 2023 · 3 min read

Système de backup pour Kibana

Side view worker wearing gloves

Elasticsearch & Kibana

  • Elasticsearch est un moteur de recherche et une base de données distribuée en temps réel. Il permet d’indexer et de rechercher rapidement de grandes quantités de données structurées et non structurées.

  • Kibana, quant à lui, est une interface de visualisation et de gestion des données pour Elasticsearch. Il permet d’explorer, de visualiser et de partager les données stockées dans Elasticsearch grâce à des tableaux de bord interactifs, des graphiques.

  • Ensemble, Elasticsearch et Kibana constituent une solution complète pour l’exploration, la recherche et l’analyse de données, et sont largement utilisés dans divers domaines tels que la recherche sur le Web, la surveillance en temps réel, l’analyse de données, etc.

Backup de Kibana

  • Le ressource qu’on cherche sauvant a sauvegarder dans Kibana sont les dashboards, qui servent a visualiser les jeux de données obtenu via Elasticsearch.

  • Pour exporter et importer les ressources tel que les dashboards, on passera par la REST API de Kibana. en passant quelques requêtes, on pourra obtenir ce qu’on cherche :

Terminal window
#la gueule d'une requête
$ curl -X POST api/saved_objects/_export -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '
{
"type": "index-pattern"
}'

Pour plus d’informations, voilà la doc.

Kibana backup simple

  • Un outil qui permet de sauvegarder les objets enregistrés de Kibana : configuration, motifs d’index, tableaux de bord, recherches enregistrées, etc. Le tout de manière simple (c’est dans le nom de l’outil).
  • Pour plus d’informations, je vous renvoie vers le Github.

Méthode 1 : Local

  1. Kibana-backup-simple peut-être installer en local, via Pip :

Terminal window
pip install kibana-backup-simple
  1. Après, il nous suffira de passer la commande pour backup, avec la bonne URI et les bonnes credentials:

Terminal window
kibana-backup.py backup --kibana-url <KIBANA_URL> --user <USER> --password <PASSWORD> > backup.json
  1. Notons qu’avec la commande précédente, le backup ne concernera que le default space. Pour faire un backup de tous les spaces, on utilisera :

Terminal window
kibana-backup.py backup --kibana-url <KIBANA_URL> --user <USER> --password <PASSWORD> --all-spaces --backup-file-prefix=backup-
  1. Pour faire le restore, rien de plus facile, suffit de remplacer backup par restore :

Terminal window
kibana-backup.py restore --kibana-url <KIBANA_URL> --user <USER> --password <PASSWORD> --all-spaces --backup-file-prefix=backup-

Méthode 2 : Image Docker

  • Pour cette méthode, je vais vous confectionner un petit système de backup pour Kibana pour AKS pas piqué des hannetons, qui consistera en un cronjob qui fera des sauvegardes de façon automatique, le tout dans un storage account.
  • Pour ça, suivez le prochain article !
Kibana Tutorial

Articles relatifs