我正在寻找一种方法来衡量logstash将数据输出到弹性搜索所需的时间。 - 有这个过滤过滤器 https://www.elastic.co/guide/en/logstash/current/plugins-filters-elapsed.html,我认为可以用来衡量通过所有配置的过滤器处理消息所花费的时间,但不能测量输出到弹性搜索所需的时间 - 我还尝试使用类似
的批处理文件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在完成给定的输入文件后没有停止/退出。 任何帮助都非常感谢!
谢谢和问候, 普里亚
答案 0 :(得分:1)
过去的{}过滤器用于计算两个事件(开始/停止对等)之间的差异。
Logstash将@timestamp设置为当前时间。如果您不替换它(通过日期{}过滤器),它将表示logstash接收文档的时间。
Elasticsearch有一个名为_timestamp的功能,可以将该名称的字段设置为elasticsearch服务器的时间。出于某种原因,他们已经在版本2中弃用了该功能。
截至目前,没有受支持的方式来获取elasticsearch索引数据的时间,因此没有支持的方法来确定logstash和elasticsearch之间的延迟以及elasticsearch所需的处理时间。
我希望您可以在映射中添加日期字段,并使用null_value将值默认为“now”,但不支持。希望他们能够支持并恢复这个非常有用的功能。