问题排查:映射问题

编辑
映射问题
编辑

在某些情况下,Heartbeat 数据可能会在未应用正确映射的情况下被索引。这种情况不会在使用 Fleet 配置的 Elastic Agent 中发生,只会发生在独立的 Heartbeat 或以独立模式运行的 Elastic Agent 中。当底层的 heartbeat-VERSION ILM 别名被手动删除,或者 Heartbeat 在没有运行 setup 命令的情况下通过 Logstash 等中间媒介写入数据时,就可能发生这种情况。当以独立模式运行 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 应用尝试获取您的数据时,它应该能够正常渲染。