解决重复的快照策略失败

编辑

解决重复的快照策略失败编辑

重复的快照失败通常表明部署存在问题。如果自动快照持续失败,在数据丢失或中断的情况下,部署可能会失去恢复选项。

Elasticsearch 会跟踪执行自动快照时重复失败的次数。如果自动快照在没有成功执行的情况下失败次数过多,则运行状况 API 将报告警告。报告警告之前的重复失败次数由 slm.health.failed_snapshot_warn_threshold 设置控制。

如果自动快照生命周期管理策略执行遇到重复失败,请按照以下步骤获取有关该问题的更多信息

为了检查失败的快照生命周期管理策略的状态,我们需要转到 Kibana 并检索 快照生命周期策略信息

使用 Kibana

  1. 登录到 Elastic Cloud 控制台
  2. Elasticsearch Service 面板上,单击您的部署名称。

    如果您的部署名称被禁用,则您的 Kibana 实例可能不正常,在这种情况下,请联系 Elastic 支持。如果您的部署不包含 Kibana,您只需 先启用它

  3. 打开部署的侧边导航菜单(位于左上角 Elastic 徽标下方),然后转到 开发工具 > 控制台

    Kibana Console
  4. 检索 快照生命周期管理策略

    GET _slm/policy/<affected-policy-name>

    响应将如下所示

    {
      "affected-policy-name": { 
        "version": 1,
        "modified_date": "2099-05-06T01:30:00.000Z",
        "modified_date_millis": 4081757400000,
        "policy" : {
          "schedule": "0 30 1 * * ?",
          "name": "<daily-snap-{now/d}>",
          "repository": "my_repository",
          "config": {
            "indices": ["data-*", "important"],
            "ignore_unavailable": false,
            "include_global_state": false
          },
          "retention": {
            "expire_after": "30d",
            "min_count": 5,
            "max_count": 50
          }
        },
        "last_success" : {
          "snapshot_name" : "daily-snap-2099.05.30-tme_ivjqswgkpryvnao2lg",
          "start_time" : 4083782400000,
          "time" : 4083782400000
        },
        "last_failure" : { 
          "snapshot_name" : "daily-snap-2099.06.16-ywe-kgh5rfqfrpnchvsujq",
          "time" : 4085251200000, 
          "details" : """{"type":"snapshot_exception","reason":"[daily-snap-2099.06.16-ywe-kgh5rfqfrpnchvsujq] failed to create snapshot successfully, 5 out of 149 total shards failed"}""" 
        },
        "stats": {
          "policy": "daily-snapshots",
          "snapshots_taken": 0,
          "snapshots_failed": 0,
          "snapshots_deleted": 0,
          "snapshot_deletion_failures": 0
        },
        "next_execution": "2099-06-17T01:30:00.000Z",
        "next_execution_millis": 4085343000000
      }
    }

    受影响的快照生命周期策略。

    有关该策略上次失败的信息。

    发生故障的时间(以毫秒为单位)。使用 human=true 请求参数查看格式化的时间戳。

    包含快照失败原因的错误详细信息。

    快照可能由于多种原因而失败。如果失败是由于配置错误造成的,请查阅自动快照正在使用的存储库的文档。如果您正在使用此类部署,请参阅 有关在 ECE 中管理存储库的指南

一种常见的故障情况是存储库损坏。当 Elasticsearch 的多个实例写入同一个存储库位置时,最常发生这种情况。有一个 单独的故障排除指南 来解决此问题。

如果快照由于其他原因而失败,请检查快照执行期间选定的主节点上的日志以获取更多信息。