elasticsearch 使用新管道重新处理Elasticsearch数据,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 使用新管道重新处理Elasticsearch数据,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 使用新管道重新处理Elasticsearch数据

elasticsearch 使用新管道重新处理Elasticsearch数据,elasticsearch,logstash,elasticsearch,Logstash,我有一个ELK stack服务器,用于分析Apache web日志数据。我们正在加载所有的日志,可以追溯到几年前。目的是查看这段时间内一些特定于应用程序的趋势 数据处理管道仍在调整中,因为这是第一次有人详细研究这些数据,一些人仍在试图决定如何处理这些数据 有人建议进行一些更改,虽然这些更改很容易在logstash管道中为新的传入数据执行,但我不确定如何将这些更改应用于已经存在的数据。加载当前数据集需要几天的时间,并且添加了相当多的数据,因此使用修改后的管道通过logstash重新处理所有数据可能

我有一个ELK stack服务器,用于分析Apache web日志数据。我们正在加载所有的日志,可以追溯到几年前。目的是查看这段时间内一些特定于应用程序的趋势

数据处理管道仍在调整中,因为这是第一次有人详细研究这些数据,一些人仍在试图决定如何处理这些数据

有人建议进行一些更改,虽然这些更改很容易在logstash管道中为新的传入数据执行,但我不确定如何将这些更改应用于已经存在的数据。加载当前数据集需要几天的时间,并且添加了相当多的数据,因此使用修改后的管道通过logstash重新处理所有数据可能需要几天的时间


将这些更改应用于已接收到elastic中的数据的最佳方法是什么?在测试这个设置的早期阶段,我只想删除索引并从头开始重建,但这是在非常有限的数据集上完成的,而且这里使用的数据量很大,我不确定这是否可行。有更好的方法吗?

设置摄取管道并使用reindex API将数据从当前索引移动到新索引(管道配置为目标索引)


设置摄取管道并使用reindex API将数据从当前索引移动到新索引(管道配置为目标索引)


听起来这将通过更新的管道处理所有现有数据,并填充新索引,然后我想在操作完成后,我会删除旧索引。我想这比从头开始重新加载所有日志文件要好。会快得多吗?我希望有一种方法可以就地更新索引,但我想那是因为我习惯于在关系数据库中这样做。。。或者我应该创建一个只包含更新的特殊管道,并通过该管道重新索引现有数据,而新数据通过常规(和新更新的)日志存储管道?另一个问题是,日志存储管道的一些更改涉及使用聚合过滤器插件,而且它看起来没有任何一个摄取节点处理器与之相当。是的,它会快得多。是的,创建一个只包含更新的管道,并在重新索引时使用它。新数据将继续使用您的日志存储管道。不幸的是,摄取处理器适用于大多数用例,但它们的功能不如日志存储管道强大,无法聚合等。为了使索引名称与更新的数据相同,在重新索引后,您可以拍摄新索引的快照并将其还原为旧索引名称。还原后可以删除新索引。听起来这将通过更新的管道处理所有现有数据,并填充一个新索引,然后我想我会在操作完成后删除旧索引。我想这比从头开始重新加载所有日志文件要好。会快得多吗?我希望有一种方法可以就地更新索引,但我想那是因为我习惯于在关系数据库中这样做。。。或者我应该创建一个只包含更新的特殊管道,并通过该管道重新索引现有数据,而新数据通过常规(和新更新的)日志存储管道?另一个问题是,日志存储管道的一些更改涉及使用聚合过滤器插件,而且它看起来没有任何一个摄取节点处理器与之相当。是的,它会快得多。是的,创建一个只包含更新的管道,并在重新索引时使用它。新数据将继续使用您的日志存储管道。不幸的是,摄取处理器适用于大多数用例,但它们的功能不如日志存储管道强大,无法聚合等。为了使索引名称与更新的数据相同,在重新索引后,您可以拍摄新索引的快照并将其还原为旧索引名称。恢复后可以删除新索引。