排查映射问题

编辑
映射问题
编辑

在某些情况下,Heartbeat 数据可能会在没有应用正确映射的情况下被索引。这种情况不会发生在通过 Fleet 配置的 Elastic Agent 中,只会发生在独立运行的 Heartbeat 或 Elastic Agent 中。当底层的 heartbeat-VERSION ILM 别名被手动删除,或者当 Heartbeat 通过 Logstash 等中间件写入数据而没有运行 setup 命令时,就会发生这种情况。在独立模式下运行 Elastic Agent 时,如果手动设置的数据流映射不正确,也会发生这种情况。

要解决此问题,通常需要删除 Heartbeat 索引和数据流。然后,必须创建具有相应映射的新索引和数据流。为此,请按照以下步骤操作。

停止您的 Heartbeat/Elastic Agent 实例
编辑

必须停止所有针对集群的 Heartbeat/Elastic Agent 实例,以防止它们过早地写入或重新创建索引。

删除您的 Heartbeat 索引/Elastic Agent 数据流
编辑

为确保映射应用于所有未来的 Heartbeat 数据,请删除所有与 Uptime 应用将使用的模式匹配的 Heartbeat 索引。

有多种方法可以实现此目的。您可以阅读有关使用 索引管理 UI删除索引 API 执行此操作的信息。

如果使用 Elastic Agent,则需要修复自定义数据流映射中的任何问题。我们建议使用 Fleet 来消除此问题。

如果使用 Heartbeat,请执行 Heartbeat 设置
编辑

以下命令将使 Heartbeat 执行其设置过程并正确重新创建索引模板。

./heartbeat setup -e

有关如何使用此命令的更多信息,或者如果您使用的是 DEB、RPM 或 Windows,请参阅 Heartbeat 快速入门指南

此命令执行必要的启动任务,并确保您的索引具有相应的映射。

再次运行 Heartbeat/Elastic Agent
编辑

现在,当您运行 Heartbeat/Elastic Agent 时,您的数据将使用相应的映射进行索引。当 Uptime 应用尝试获取您的数据时,它应该能够正常渲染。