Развертывание отказоустойчивого кластера ELK (Elasticsearch, Logstash, Kibana) #
Elasticsearch — это высокомасштабируемая распределенная поисковая система полнотекстового поиска и анализа данных с веб-интерфейсом, REST API и неформализованными JSON-документами, которая разработана на базе полнотекстового поиска Lucene и работает в режиме реального времени. Кроме того, Elasticsearch — это нереляционное хранилище документов в формате JSON, которое разработано на Java и выпущено как проект с открытым исходным кодом в соответствии с условиями лицензии Apache.
В Elastic Stack входят четыре основных компонента:
- Elasticsearch — это NoSQL-база данных для хранения и поиска. Logstash загружает данные в Elasticsearch. Kibana визуализирует собранные данные.
- Logstash - может быть использован для трансформации собираемых журналов. Например, удаление каких-то полей или добавление новых полей.
- Kibana - инструмент для визуализации данных из Elasticsearch. Позволяет выполнять любые произвольные запросы к Elasticsearch.
- Beats - необходим для доставки данных с различных систем в Elasticsearch или Logstash. Существует довольно много разновидностей Beats. Например, Filebeat может доставлять информацию из файловых журналов. Winlogbeat поможем вам доставить данные из журналов Windows. Metricbeat может доставлять данные с метрик.
Компоненты Beats могут доставлять данные как напрямую в Elasticseach (пример с Linux хостом), так и в Logstash (Windows хост). Logstash выполняет дополнительную работу по обогащению или трансформации собранных данных и отправляет данные в Elasticsearch. Elastichsearch принимает и индексирует полученные данных. Kibana позволяет настроить необходимую визуализацию полученных данных.
В текущей статье описывается кластер собранный из трех нод с Elasticsearch, а Logstash и Kibana будут установлены на первую ноду.
Установка Elasticsearch на каждую ноду #
Настройка кластера Elasticsearch #
На текущем этапе у нас есть три ноды с установленным Elasticsearch. Следующим этапом является настройка каждого узла для объединения их в единый кластер.
Настройка первого узла кластера #
Настройка остальных узлов кластера #
Дополнительные настройки #
Для стабильной работы кластера необходимо произвести еще некоторые настройки.