【问题标题】:Measuring time taken by logstash to output into elastic测量logstash输出到弹性所花费的时间
【发布时间】:2015-12-03 01:33:05
【问题描述】:
我正在寻找一种方法来衡量 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 在完成给定的输入文件后不会停止/退出。
非常感谢任何帮助!
感谢和问候,
普里亚
【问题讨论】:
标签:
elasticsearch
logstash
【解决方案1】:
elapsed{} 过滤器用于计算两个事件(开始/停止对等)之间的差异。
Logstash 将@timestamp 设置为当前时间。如果您不替换它(通过 date{} 过滤器),它将表示 logstash 收到文档的时间。
Elasticsearch 有一个名为 _timestamp 的功能,可以将该名称的字段设置为 elasticsearch 服务器的时间。出于某种原因,他们在版本 2 中弃用了该功能。
截至目前,没有支持的方法来获取elasticsearch索引数据的时间,因此没有支持的方法来确定logstash和elasticsearch之间的延迟以及elasticsearch所需的处理时间。
我希望您可以在映射中添加日期字段并使用 null_value 将值默认为“现在”,但不支持此操作。希望他们能够支持并恢复这一非常有用的功能。