2014-10-22 141 views
0

我有一个默认的“elasticsearch”(ubuntu 14.04,ES v1.2)堆栈部署,从redis到Kibana。Logstash - ElasticSearch - Kibana ::延迟10秒或更多秒

我发送的是当前日期的@now值,Elasticsearch会指定他自己的@timestamp。那么,如果你计算(@timestamp - @now),会有超过10秒(有时甚至是一分钟)的延迟/延迟。

这是正常行为吗?我没有调整过多的实例,但是我发送的事件很少,看起来不像是性能/内存/ IO问题。

任何提示是值得欢迎的。

回答

0

你至少有5件软件(你没有提及你使用的是什么托运人)。

首先,在查看结果时确保一切都“温暖”。 logstash和elasticsearch是基于JVM的,所以需要担心的是所有这些开销。我通常在开始测量任何东西前2分钟给他们。

其次,寻找缓冲区大小,这可能会在像您这样的低容量环境中产生更大的影响。您的托运人是否发送每条消息或批处理(当作为托运人用于redis时,logstash默认为每批50个文档)?什么时候从redis读取(默认值是1,但可以更改)?怎么样从logstash发送到elasticsearch(默认值是1000,但它也是每秒刷新一次)?

你的硬件在整个链条上如何? CPU利用率? RAM分配? SSD与旋转磁盘?网络延迟?垃圾收集?

您在托运人或索引器上做了多少过滤?很多糟糕的正则表达式?

甚至是基础知识 - 时钟设置是否相同?

[我已经可以看到SO警察暗示这应该是评论而不是回答。但是,您会注意到OP提及的具体内容,以及有很多旋钮可以转动的教训。 ]

+0

谢谢!我会研究缓冲区,因为我每秒发送3条消息,并详细说明时钟。这是一个带有SSD的小型t2实例(AWS),需要使用完整的CPU和内存。 logstash中没有过滤(regexp),也没有redis,也没有我的nodejs进程(托运人?)。 – SergioArcos 2014-10-29 09:39:43

+0

解决了问题:ntp无法正常工作。请阅读http://support.rightscale.com/09-Clouds/AWS/FAQs/FAQ_0025_-_Can_I_use_Network_Time_Protocol_%28NTP%29_on_my_RightScale_servers%3F – SergioArcos 2014-11-18 06:54:29