我已经部署了默认的“elasticsearch”(ubuntu 14.04,ES v1.2)堆栈,从redis到Kibana。
我发送@now值时会显示当前日期,并且Elasticsearch会分配自己的@timestamp。
好吧,如果你计算(@timestamp - @now),滞后/延迟的时间将超过10秒(有时甚至是一分钟)。
这是正常行为吗?我没有调整太多我的实例,但我发送的事件非常少,看起来不像是性能/内存/ IO的问题。
欢迎任何提示。
答案 0 :(得分:0)
您一路上至少有5件软件(您没有提到您正在使用的托运人)。
首先,当你查看结果时,确保一切都“温暖”。 logstash和elasticsearch是基于JVM的,因此需要担心的是所有开销。在开始测量任何东西之前,我通常会给它们2分钟。
其次,查找缓冲区大小,这可能会在像您这样的低容量环境中产生更大的影响。您的托运人是否发送每条消息或批次(当用作redis的托运人时,logstash每批默认有50个文件)?从redis读取时(默认值为1,但可以更改)?从logstash发送到elasticsearch怎么样(默认值是1000,虽然它也每秒刷新一次)?
整个链条上的硬件怎么样? CPU利用率? RAM分配? SSD与旋转磁盘?网络延迟?垃圾收集?
您对托运人或索引器进行了多少过滤?很多糟糕的正则表达式?
甚至是基础 - 时钟设置相同吗?
[我已经可以看到SO警察建议这应该是评论而不是答案。但是,你会注意到OP提到的具体内容,以及有很多旋钮的教训。 ]