Comment résoudre l'erreur « Impossible de trouver les objets enregistrés » qui se produit après avoir mis à niveau Amazon Elasticsearch Service ?

Dernière mise à jour : 10/04/2020

J'ai récemment mis à niveau mon cluster Amazon Elasticsearch Service (Amazon ES) vers la version 7.1. Toutefois, je reçois l'erreur « Impossible de trouver les objets enregistrés » dans Kibana. Comme résoudre ce problème ?

Brève description

Il peut arriver que les utilisateurs de clusters Amazon ES obtiennent une erreur 400 Requête incorrecte après la mise à niveau d'Amazon ES vers la version 7.1. La mise à niveau peut causer des problèmes qui empêchent les utilisateurs de trouver les objets enregistrés dans Kibana. En outre, l'index .kibana ne peut pas être restauré directement lorsque vous utilisez les versions 7.x de Kibana. Au lieu de cela, l'index .kibana doit être utilisé en tant qu'alias. Par exemple, si vous effectuez une mise à niveau vers la version 7.1, Kibana migrera vers l'index .kibana_1, puis configurera .kibana en tant qu'alias d'index.

Résolution

Afin de trouver et de restaurer les objets enregistrés dans Kibana, procédez comme suit :

1.    Créez un index .kibana_1, à l'aide des mappages suivants :

PUT /.kibana_1
{                                                            
    "aliases": {},
    "mappings": {
      "properties": {
        "config": {
          "properties": {
            "buildNum": {
              "type": "long"
            }
          }
        },
        "index-pattern": {
          "properties": {
            "fields": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "timeFieldName": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            },
            "title": {
              "type": "text",
              "fields": {
                "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
                }
              }
            }
          }
        },
        "type": {
          "type": "keyword",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "updated_at": {
          "type": "date"
        }
      }
    },
    "settings": {
      "index": {
        "number_of_shards": "1",
        "number_of_replicas": "1"
      }
    }
}

2.    Ensuite, créez un index .kibana_backup :

PUT .kibana_backup

3.    Utilisez l'API de réindexation afin de copier les données de l'index .kibana vers l'index .kibana_backup, à l'aide des requêtes suivantes :

POST _reindex
{
  "source": {
    "index": ".kibana"
  },
  "dest": {
    "index": ".kibana_backup"
  }
}

Ces requêtes copient et enregistrent vos données dans l'index .kibana_backup.

4.    Supprimez l'index .kibana :

DELETE .kibana

5.    Créez un alias .kibana et déplacez le curseur sur l'index .kibana _1 :

POST /_aliases
{
    "actions" : [
        { "add" : { "index" : ".kibana_1", "alias" : ".kibana" } }
    ]
}

6.    Utilisez l'API de réindexation afin de copier les données de l'index .kibana_backup vers l'index nouvellement créé .kibana_1 :  

POST _reindex
{
  "source": {
    "index": ".kibana_backup"
  },
  "dest": {
    "index": ".kibana_1"
  }
}

Les données de .kibana_backup sont désormais restaurées et enregistrées dans l'index .kibana_1.

7.    Recherchez le modèle d'index enregistré ou créez-en un nouveau depuis l'onglet Gestion de Kibana. Si vous parvenez à réaliser ces tâches, le problème a été résolu.

8.    Supprimez l'index .kibana_backup afin de tout supprimer :

DELETE .kibana_backup

Cet article vous a-t-il été utile ?

Que pouvons-nous améliorer ?


Besoin de plus d'aide ?