解决重复快照策略失败问题

edit

解决重复快照策略失败问题

edit

重复的快照失败通常是部署存在问题的指示。自动化快照的持续失败可能会在数据丢失或中断的情况下导致部署没有恢复选项。

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": { 
        "version": 1,
        "modified_date": "2099-05-06T01:30:00.000Z",
        "modified_date_millis": 4081757400000,
        "policy" : {
          "schedule": "0 30 1 * * ?",
          "name": "",
          "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实例向同一个仓库位置写入数据时。有一个单独的故障排除指南来解决这个问题。

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