解决映射问题编辑

映射问题编辑

在某些情况下,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 应用程序尝试获取您的数据时,它应该能够毫无问题地呈现。