Я использую Logstash и Elasticsearch для нашего хранилища и анализа журналов squid. Размер журналов увеличивается со скоростью 40 Гб в день в нашей системе хранения freeBSD ZFS. Elasticsearch выходит из строя каждые пять дней, и дальнейшая запись журналов невозможна.
И я попробовал
index.number_of_shards: 1
index.number_of_replicas: 0
Но вроде бесполезно.
прилагается снимок головы заглушки
Может кто-нибудь объяснить, что я делаю не так? И какую конфигурацию мне следует изменить.
ОБНОВИТЬ
Журнал
[2013-12-08 19: 51: 16,916] [ПРЕДУПРЕЖДЕНИЕ] [index.engine.robin] [Дэвид Кэннон] [logstash-2013.12.08] [0] отказавший механизм java.lang.OutOfMemoryError: пространство кучи Java
[2013-12-09 17: 03: 07,500] [DEBUG] [action.admin.cluster.node.info] [Дэвид Кэннон] не удалось выполнить на узле [sSoHeIz5TSG8fR3IRHj_Pg] org.elasticsearch.transport.RemoteTransportException: не удалось десериализовать ответ типа [org.elasticsearch.action.admin.cluster.node.info.NodeInfo] Вызвано: org.elasticsearch.transport.TransportSerializationException: не удалось десериализовать ответ типа [org.elasticsearch.action.admin.cluster.node.info .NodeInfo]
Я видел это раньше, и все это связано с объемом кучи, выделенным для Logstash JVM.
Вы можете попробовать увеличить это, установив этот флаг -XX:MaxHeapSize=256m
в JVM при запуске, за исключением того, что вам, вероятно, следует попробовать установить MaxHeapSize примерно на 512 м или даже больше.
Elasticsearch имеет несколько довольно разумных значений по умолчанию, но это возможно. еще больше тюнинга, задав размер кучи и так далее для поиска.
ES и Logstash можно масштабировать до миллиарды событий, и многие терабайты данных журнала, с осторожный конфигурация.