Elasticsearch独立模式,五天之后有logstash拒绝数据

我们将Logstash和Elasticsearch用于我们的鱿鱼日志存储和分析。在我们的freeBSD ZFS存储系统中,日志的大小以每天40Gb的速度增长。 Elasticsearch每五天进入一次失败,没有日志可以进一步写入。

我试了

index.number_of_shards: 1 index.number_of_replicas: 0 

但似乎没有用。

附上的是插头的快照

弹性搜索头插件状态

任何人都可以解释我做错了什么? 我应该修改哪些configuration。

UPDATE

日志

[2013-12-08 19:51:16,916] [WARN] [index.engine.robin] [David Cannon] [logstash-2013.12.08] [0]引擎失败java.lang.OutOfMemoryError:Java堆空间

[2013-12-09 17:03:07,500] [DEBUG] [action.admin.cluster.node.info] [David Cannon]无法在节点上执行[sSoHeIz5TSG8fR3IRHj_Pg] org.elasticsearch.transport.RemoteTransportException:无法反序列化响应types为[org.elasticsearch.action.admin.cluster.node.info.NodeInfo]引起的:org.elasticsearch.transport.TransportSerializationException:无法反序列化[org.elasticsearch.action.admin.cluster.node.info .NodeInfo]

我以前就看到过这一点,而这一切都与JVM分配给Logstash的堆空间量有关。

当你启动它时,你可以通过向JVM提供这个标志-XX:MaxHeapSize=256m来尝试增加这个,除非你应该试着将MaxHeapSize设置为512m甚至更大。

Elasticsearch提供了一些相当理智的默认值,但可以进行更多的调整 ,设置堆的大小等等。

ES和Logstash可以通过仔细的 configuration扩展到数十亿个事件和许多千兆兆字节的日志数据。