Lors de la réinitialisation d'un cluster Kibana, les indices de configuration .kibana_{num} (où {num} est une variable, par exemple .kibana_1 ou .kibana_2) sont également réinitialisés. Cette rubrique utilise .kibana_1 comme exemple pour montrer comment restaurer un index .kibana_{num} à partir d'un snapshot ou par réindexation.
Contexte
L'index .kibana_{num} stocke les configurations Kibana, telles que les tableaux de bord et les modèles d'index. Kibana lit les données via l'alias .kibana, qui pointe vers un seul index .kibana_{num}, même s'il en existe plusieurs. Seul cet index utilise l'alias .kibana.
Si l'index .kibana_1 est corrompu et que vous devez le supprimer pour réinitialiser Kibana, ou si une tâche planifiée mal configurée le supprime, .kibana_task_manager_1 génère un nouvel index .kibana_1 lié à l'alias .kibana. Tous les modèles d'index, tableaux de bord et rôles utilisateur précédemment configurés sont perdus.
Pour restaurer l'index .kibana_1, utilisez l'une des méthodes suivantes :
Restaurez directement à partir d'un snapshot.
Restaurez dans un index de sauvegarde, puis réindexez les données dans l'index .kibana_1.
Reconstruisez manuellement les modèles d'index ou les rôles utilisateur Kibana.
Prérequis
La sauvegarde automatique par snapshot est activée, ou vous avez sauvegardé manuellement les indices système. Le snapshot doit contenir un index .kibana_1 sain.
L'alias .kibana existe et pointe vers l'index .kibana_1. Si l'index .kibana_1 n'existe pas, redémarrez Kibana pour initialiser un nouvel index .kibana_1.
Procédure
Restauration par snapshot
Connectez-vous à la console Kibana de votre cluster Elasticsearch et accédez à la page d'accueil Kibana.
Dans le volet de navigation de gauche, cliquez sur Dev tools.
-
Dans l'onglet Console, exécutez la commande suivante pour lister tous les snapshots du référentiel.
GET _cat/snapshots/aliyun_auto_snapshot?valiyun_auto_snapshot est le nom par défaut du référentiel pour les sauvegardes automatiques Alibaba Cloud Elasticsearch (toujours aliyun_auto_snapshot). Si vous utilisez des sauvegardes manuelles, remplacez aliyun_auto_snapshot par le nom de votre référentiel.
La sortie liste tous les snapshots avec leur id et leur status.
RemarqueNotez l'id du dernier snapshot créé avant l'apparition du problème.
Exemple de sortie :
GET _cat/snapshots/aliyun_auto_snapshot?v id status start_epoch start_time end_epoch end_time duration indices successful_shards failed_shards total_shards 1 es-cn-m7r23wodb0xxx 20220303020235 SUCCESS 1646244156 18:02:36 1646244168 18:02:48 12.6s 47 66 0 66 2 es-cn-m7r23wodb0xxx 20220304020204 SUCCESS 1646330525 18:02:05 1646330541 18:02:21 16.2s 47 66 0 66 3 es-cn-m7r23wodb0xxx 20220305020209 SUCCESS 1646416929 18:02:09 1646416946 18:02:26 17s 47 66 0 66 4 es-cn-m7r23wodb0xxx 20220306020206 SUCCESS 1646503327 18:02:07 1646503346 18:02:26 18.8s 47 66 0 66 5 es-cn-m7r23wodb0xxx 20220307020200 SUCCESS 1646589721 18:02:01 1646589743 18:02:23 21.8s 47 66 0 66 6 es-cn-m7r23wodb0xxx 20220308020218 SUCCESS 1646676142 18:02:22 1646676155 18:02:35 13s 47 66 0 66 7 es-cn-m7r23wodb0xxx 20220309020211 SUCCESS 1646762532 18:02:12 1646762539 18:02:19 7s 47 66 0 66 8 es-cn-m7r23wodb0xxx 20220310020210 SUCCESS 1646848931 18:02:11 1646848946 18:02:26 14.6s 47 66 0 66 9 es-cn-m7r23wodb0xxx 20220311020208 SUCCESS 1646935329 18:02:09 1646935342 18:02:22 13.8s 47 66 0 66 10 es-cn-m7r23wodb0xxx 20220312020212 SUCCESS 1647021733 18:02:13 1647021749 18:02:29 16s 47 66 0 66 -
Vérifiez que le snapshot contient l'index .kibana_1.
GET _snapshot/aliyun_auto_snapshot/<yourSnapshotId><yourSnapshotId> : l'id du snapshot obtenu à l'étape précédente, par exemple es-cn-m7r23wodb006n****_20220303020235.
Poursuivez uniquement si la sortie contient l'index .kibana_1.
Dans Kibana Dev Tools, exécutez les commandes suivantes et confirmez que la liste des indices dans la réponse contient l'index .kibana_1. Cela indique que le snapshot peut être utilisé pour restaurer les données Kibana.
GET _cat/snapshots/aliyun_auto_snapshot?v GET _snapshot/aliyun_auto_snapshot/es-cn-m7r23wodbxxx_20220303020235{ "snapshots" : [ { "snapshot" : "es-cn-m7r23woxxx_20220303020235", "uuid" : "AiB8unLlT9aWPoxxx", "version_id" : 7100099, "version" : "7.10.0", "indices" : [ ".kibana-event-log-7.10.0-000009", ".kibana-event-log-7.10.0-000010", "zltest", ".watches", "my-index-000001", ".transform-internal-005", ".async-search", "chinese_news", ".watcher-history-12-2022.03.02", "kibana_sample_data_logs", "zltest14", ".transform-notifications-000002", "zltest17", ".kibana_1", ".security-7", ".kibana-event-log-7.10.0-000012", "zltest16", "ilm-history-3-000010", ".triggered_watches", ".watcher-history-12-2022.02.25", "dest", "my-index-12345e", ".watcher-history-12-2022.02.24", "metrics-endpoint.metadata_current_default", ... ] } ] } -
Fermez l'index .kibana_1.
ImportantLa fermeture de l'index .kibana_1 peut empêcher la connexion à Kibana. Si cela se produit, restaurez l'index à l'aide d'une commande curl. FAQ.
POST /.kibana_1/_closeSortie attendue :
{ "acknowledged" : true, "shards_acknowledged" : true, "indices" : { ".kibana_1" : { "closed" : true } } } -
Restaurez l'index .kibana_1 à partir du snapshot.
POST _snapshot/aliyun_auto_snapshot/<yourSnapshotId>/_restore { "indices": ".kibana_1", "rename_pattern": ".kibana_1", "rename_replacement": ".kibana_1" }Parameter
Description
<yourSnapshotId>
L'id du snapshot. Saisissez l'id obtenu à l'étape 3.
indices
Le nom de l'index à restaurer.
rename_pattern
Facultatif. Une expression régulière qui correspond au nom de l'index à restaurer.
rename_replacement
Facultatif. Renomme l'index correspondant comme spécifié.
En cas de succès,
"accepted" : trueest renvoyé.ImportantSur les instances dont la version est différente de 7,10, si une erreur
index_closed_exception index=".kibana_1"se produit lors de la restauration de l'index .kibana_1, consultez la section FAQ pour obtenir une solution. -
Vérifiez la restauration.
Confirmez que les modèles d'index Kibana sont restaurés.
Dans le coin supérieur gauche de la console Kibana, cliquez sur l'icône
.Dans le volet de navigation de gauche, accédez à .
Dans la section Kibana, cliquez sur Index Patterns.
Sur la page Index Patterns, cliquez sur un modèle d'index commençant par kibana_ pour vérifier si les données sont restaurées.
Restauration par réindexation
-
Vérifiez que le snapshot contient l'index .kibana_1.
Suivez les étapes 1 à 4 de la section Restauration par snapshot.
RemarquePoursuivez uniquement si le snapshot contient l'index .kibana_1.
-
Restaurez l'index .kibana_1 à partir du snapshot vers un index de sauvegarde nommé kibana123.
POST _snapshot/aliyun_auto_snapshot/<yourSnapshotId>/_restore { "indices": ".kibana_1", "rename_pattern": ".kibana_1", "rename_replacement": "kibana123" }Parameter
Description
<yourSnapshotId>
L'id du snapshot. Saisissez l'id obtenu à l'étape 1.
indices
Le nom de l'index à restaurer.
rename_pattern
Facultatif. Une expression régulière qui correspond au nom de l'index à restaurer.
rename_replacement
Le nom de l'index de sauvegarde.
En cas de succès,
"accepted" : trueest renvoyé. -
Réindexez les données de l'index de sauvegarde vers l'index .kibana_1.
POST _reindex { "source": { "index": "kibana123" }, "dest": { "index": ".kibana_1" } }Sortie attendue :
{ "took" : 731, "timed_out" : false, "total" : 33, "updated" : 33, "created" : 0, "deleted" : 0, "batches" : 1, "version_conflicts" : 0, "noops" : 0, "retries" : { "bulk" : 0, "search" : 0 }, "throttled_millis" : 0, "requests_per_second" : -1.0, "throttled_until_millis" : 0, "failures" : [ ] } -
Supprimez l'index de sauvegarde kibana123.
DELETE kibana123En cas de succès,
"accepted" : trueest renvoyé. -
Vérifiez la restauration.
Confirmez que les modèles d'index Kibana sont restaurés. Suivez l'étape 7 de la section Restauration par snapshot. Sur la page Index Patterns dans Kibana, confirmez que les trois modèles d'index de données d'exemple suivants sont correctement restaurés : kibana_sample_data_ecommerce, kibana_sample_data_flights et kibana_sample_data_logs.