Решил масштабировать единый сервер ELK в кластер. Ввел вторую ноду ES, роли оставил по-умолчанию, реплики только системные. Версию ELK поднял до 6.7.1. Никак не могу разобраться с некоторыми моментами:
Сейчас у меня 349 индексов, а шардов по 848. Разве их не должно быть 698?
На вкладке Monitoring в Disk Available я вижу место на обеих нодах как единую область. Как происходит запись данных на ноды? Пока есть место на первой, данные будут идти туда, а при заполнении на вторую? Если в logstash у меня будут указаны оба сервера, данные будут записываться на них равномерно?
Чтобы кластер был отказоустойчивым нужно добавить еще одну ноду Master-Data, добавить 2 реплики и задать параметр discovery.zen.minimum_master_nodes: 2? Реплики в этом случае равномерно будут писаться на все ноды кластера?
Сейчас данные от beats поступают в logstash и из него в elasticsearch. В основном данные с серверов Windows, для них недоступность ES не критична, когда сервис восстанавливается, все данные приходят. А если данные будут отправляться с сетевого устройства, а ES будет недоступен, то данные пропадут. Можно ли как-нибудь настроить logstash на хранение данных у себя до момента когда ES станет доступен или для этих целей лучше использовать другие программы?
Для отакзоустойчивости в случае потери одного узла достаточно добавить один узел. Увеличивать количество реплик до 2-х не обязательно. Достаточно одной копии, тогда шарды будут равномерно распределены, на разных узлах будут разные копии, но при этом потеря одного узла не должна привести к потере данных, так как копия этих данных будет на одном из выживших узлов.
В итоге я пока остановился на следующей конфигурации:
1 Сервер-балансировщик без ролей ES, с Kibana и Logstash
3 Сервера со всеми ролями ES.
2 Реплики
Обновил задание на очистку Curator, индексов стало меньше. Если я правильно считаю, 240 индексов, 5 шардов и 2 реплики, получается 240 * 5 = 1200 и 1200 + 1200*2 = 3600 (3393 Total Shards в Kibana)
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.