全部产品
Search
文档中心

检索分析服务Elasticsearch版:恢复.kibana_1索引

更新时间:Feb 12, 2026

当您的Kibana集群因异常状况被重置后,.kibana_{num}{num}为变量,例如.kibana_1、.kibana_2等)索引也会被重置,因此您需要恢复对应索引来恢复相关数据。本文以.kibana_1索引为例,介绍如何通过快照和reindex方式快速恢复.kibana_{num}索引。

背景信息

.kibana_{num}索引用来保存Kibana大盘、Kibana Index Patterns等Kibana配置信息,而Kibana默认通过别名.kibana读取数据,当系统中存在多个.kibana_{num}索引时,实际上只有一个会使用.kibana别名。

在复杂的业务场景下,例如,.kibana_1索引结构发生损坏或Kibana访问异常,需要删除.kibana_1索引重置Kibana集群,或因定时任务配置异常导致.kibana_1索引被删除,集群重启后Kibana相关数据被重置,.kibana_task_manager_1会自动生成一个绑定.kibana别名的.kibana_1索引,之前在Kibana上配置的Kibana Index Patterns、Dashboards和用户角色等信息均会被重置。

您可以通过以下方式恢复.kibana_1索引:

  • 通过快照的方式直接恢复。

  • 将快照数据恢复到备份索引,通过reindex方式将备份索引数据写入到.kibana_1中。

  • 手动重建Kibana Index Patterns或用户角色。

前提条件

  • 集群已开启自动快照备份或在快照中手动备份过系统索引,且快照中保存的.kibana_1索引结构正常。

  • 确保集群中存在.kibana别名,并应用到.kibana_1索引。如果不存在.kibana_1索引,建议重启Kibana服务,初始化生成.kibana_1索引。

操作步骤

通过快照方式恢复

  1. 登录目标阿里云Elasticsearch实例的Kibana控制台,根据页面提示进入Kibana主页。

    登录Kibana控制台的具体操作,请参见登录Kibana控制台

    说明

    本文以阿里云Elasticsearch 7.10.0版本为例,其他版本操作可能略有差别,请以实际界面为准。

  2. 单击右上角的Dev tools

  3. Console页签中,执行以下命令,获取仓库中的快照信息。

    GET _cat/snapshots/aliyun_auto_snapshot?v

    aliyun_auto_snapshot:快照存储的仓库名称。如果您是通过阿里云Elasticsearch的自动快照备份功能定期对集群数据进行快照备份的,则快照存储的仓库名称为固定的aliyun_auto_snapshot。如果您使用的是手动备份,需要将aliyun_auto_snapshot替换为您的业务仓库名称。

    执行成功后,系统会返回仓库中所有快照的详细信息,例如快照idstatus等。

    说明

    请记录Kibana异常前最新快照的id,以备后用。

    查看仓库中的快照信息

  4. 快照恢复前,获取备份的快照信息,查看集群中是否存在.kibana_1相关的索引。

    GET _snapshot/aliyun_auto_snapshot/<yourSnapshotId>

    <yourSnapshotId>:Kibana异常前最新快照的id,填写在步骤3中获取的id。例如es-cn-m7r23wodb006n****_20220303020235

    执行成功后,预期结果如下。只有返回结果中存在.kibana_1相关的索引,您才可以继续执行下文步骤恢复快照。查看是否存在.kibana_1索引

  5. .kibana_1索引的状态设置为close。

    重要

    如果将.kibana_1索引的状态设置为close之后,重启Kibana导致无法登录,需要通过curl命令恢复.kibana_1索引,具体操作请参见常见问题

    POST /.kibana_1/_close

    执行成功后,预期结果如下。

    {
      "acknowledged" : true,
      "shards_acknowledged" : true,
      "indices" : {
        ".kibana_1" : {
          "closed" : true
        }
      }
    }
  6. 执行快照恢复命令,恢复.kibana_1索引。

    POST _snapshot/aliyun_auto_snapshot/<yourSnapshotId>/_restore
    {
       "indices": ".kibana_1",
       "rename_pattern": ".kibana_1",
       "rename_replacement": ".kibana_1"
    }

    参数

    说明

    <yourSnapshotId>

    自动备份的快照id,填写在步骤3中获取的id

    indices

    需要恢复的索引名称。

    rename_pattern

    可选,正则匹配需要恢复的索引名称。

    rename_replacement

    可选,为匹配上的索引按规则重命名。

    执行成功后,预期返回"accepted" : true

    重要

    如果您使用的是非7.10版本的实例,在执行快照恢复命令恢复.kibana_1索引时,遇到类似index_closed_exception index=".kibana_1"的报错,可参见常见问题进行处理。

  7. 查看快照恢复结果。

    执行以下步骤,查看Kibana相关的Index Patterns是否恢复。如果恢复,说明快照恢复成功。

    1. 在Kibana控制台的左上角,单击打开左侧导航栏

    2. 在展开的左侧导航栏中,选择Management > Stack Management

    3. Kibana区域,单击Index Patterns

    4. Index patterns页面,单击以kibana_开头的索引模式,查看数据是否已恢复。

      查看恢复结果

通过reindex方式恢复

  1. 在快照恢复前,获取备份的快照信息,并查看集群中是否存在.kibana_1相关的索引。

    具体操作,请参见通过快照方式恢复中的步骤1~步骤4。

    说明

    只有集群中存在.kibana_1相关的索引,您才可以继续执行下文步骤恢复快照。

  2. 执行快照恢复命令,将快照中的.kibana_1索引恢复到备份索引中(本文示例为kibana123)。

    POST _snapshot/aliyun_auto_snapshot/<yourSnapshotId>/_restore
    {
       "indices": ".kibana_1",
       "rename_pattern": ".kibana_1",
       "rename_replacement": "kibana123"
    }

    参数

    说明

    <yourSnapshotId>

    自动备份的快照id,填写在步骤1中获取的id

    indices

    需要恢复的索引名称。

    rename_pattern

    可选,正则匹配需要恢复的索引名称。

    rename_replacement

    备份索引名称。

    执行成功后,预期返回"accepted" : true

  3. 执行reindex命令,将备份索引数据写入到当前.kibana_1索引中。

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

    执行成功后,预期结果如下。

    {
      "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" : [ ]
    }
  4. 删除备份索引(本文示例为kibana123)。

    DELETE kibana123

    执行成功后,预期返回"accepted" : true

  5. 查看快照恢复结果。

    查看Kibana相关的Index Patterns是否恢复。如果恢复,说明快照恢复成功。具体操作,请参见通过快照方式恢复章节的步骤7。查看恢复结果

常见问题

Q:通过快照恢复.kibana索引,报错.kibana.kibana_1别名冲突,如何处理?

A:删除.kibana_1索引后,Elasticsearch无法通过别名读写数据,因此会自动创建.kibana索引。而快照中正常的.kibana_1索引会使用.kibana作为别名,所以在恢复的时候会报错别名冲突,建议先删除.kibana索引再进行恢复。

Q:在非7.10版本的实例中,执行快照恢复命令恢复.kibana_1索引时,遇到如下index_closed_exception报错,如何处理?

报错

A:出现以上报错的原因是由于.kibana_1索引的状态为close,导致在Kibana控制台中执行任何命令时都会报错。建议您通过ECS连接Elasticsearch,并通过curl命令完成对应操作,详细信息请参见通过命令行连接集群。例如,通过快照恢复.kibana_1索引的curl命令如下。

curl -u <user>:<password> -XPOST "http://<host>:<port>/_snapshot/aliyun_auto_snapshot/<yourSnapshotId>/_restore" -H 'Content-Type: application/json' -d'{"indices": ".kibana_1","rename_pattern": ".kibana_1","rename_replacement": ".kibana_1"}'