我正在寻找一种方法来衡量logstash将数据输出到 flex 搜索所需的时间。
-有这个经过的过滤器
https://www.elastic.co/guide/en/logstash/current/plugins-filters-elapsed.html,我认为可以用来衡量通过所有已配置的过滤器处理消息所花费的时间,但不能衡量输出到 flex 搜索所花费的时间
-我也尝试了类似的批处理文件

echo starttime =  %time%
cd c:\Temp\POC\Mattias\logstash-2.0.0\logstash-2.0.0\bin
logstash agent -f first-pipeline.conf
echo endtime = %time%

这种方法的问题是,完成给定输入文件后,logstash不会停止/退出。
任何帮助深表感谢!

感谢致敬,
普里亚

最佳答案

elapsed {}过滤器用于计算两个事件(开始/停止对等)之间的差异。

Logstash将@timestamp设置为当前时间。如果您不替换它(通过date {}过滤器),它将代表logstash收到文档的时间。

Elasticsearch具有一个称为_timestamp的功能,该功能可以通过该名称将一个字段设置为Elasticsearch服务器的时间。由于某些原因,他们已弃用版本2中的该功能。

截至目前,尚无支持的方法来获取elasticsearch对数据建立索引的时间,因此尚无支持的方法来确定logstash和elasticsearch之间的时滞以及elasticsearch所需的处理时间。

我希望您可以在映射中添加日期字段,并使用null_value将值默认设置为“现在”,但是不支持。希望他们会支持并恢复这个非常有用的功能。

07-24 09:39
查看更多