Рекомендации по использованию
In this article:
Рекомендации по использованию#
В этом разделе приводится рекомендации по работе с сервисами поиска и аналитики.
Elasticsearch#
Варианты запуска сервиса#
Одиночный экземпляр сервиса, развёрнутый на одном экземпляре виртуальной машины в выбранной зоне доступности.
Отказоустойчивый сервис, развёрнутый в кластере минимум из трёх экземпляров виртуальных машин в трёх зонах доступности.
Архитектура отказоустойчивого решения#
Отказоустойчивый сервис Elasticsearch развёртывается в кластере минимум из трёх экземпляров виртуальных машин, и на каждом узле работают по одному мастеру и реплике, причём реплика работает с мастером из другого узла (кросс-репликация).
Узлы кластера могут быть полноценными и равнозначными, либо один из узлов быть арбитром — узлом с ролями master и voting_only. Отсутствие ролей data и ingest в этом случае не позволяет принимать и обрабатывать данные, но зато не требует большого количества ресурсов. Поэтому в качестве арбитра вы можете использовать более дешёвый тип экземпляра.
Если кластер содержит два узла и более, то по умолчанию новые индексы создаются с одним primary shard и одной репликой. Шардирование и репликация позволяют сохранить данные в случае аварии одного из узлов и распределить нагрузку, если она возрастёт.
Подключиться к сервису#
После успешного запуска адреса и порты, которые прослушивает сервис Elasticsearch , можно найти на его странице на вкладке Информация.
Сервис Elasticsearch прослушивает порт tcp/9200
.
При работе с кластером рекомендуется использовать точки приёма запросов (endpoints) для подключения всех узлов, кроме арбитра.
Многие инструменты, например Filebeat, Metricbeat, Logstash, умеют работать со всеми точками приёма сразу, самостоятельно осуществлять балансировку и автоматическое переключение.
В случае если они не могут самостоятельно выполнять эти операции, рекомендуем использовать балансировщик haproxy или nginx.
Если на этапе развёртывания сервиса вы задали пароль суперпользователя elastic, то сервис запустится с расширением X-Pack Security и любое действие с ним потребует аутентификации.
Важно
Рекомендуем использовать учётную запись elastic только для управления сервисом Elasticsearch. Для интеграции с другими сервисами создайте дополнительных пользователей с нужным набором привилегий.
Аутентификация в Elasticsearch#
Вы можете защитить вход в графический интерфейс Kibana или API Elasticsearch c помощью пароля, который можно задать при создании сервиса. После того как сервис был запущен с заданным паролем, его не рекомендуется менять, поскольку управление развёрнутым сервисом средствами облака станет невозможным.
Для удобства работы c сервисом в него встроены служебные пользователи:
kibana_system
logstash_system
beats_system
apm_system
remote_monitoring_user
Важно
Изменение служебных паролей после запуска Elasticsearch приведёт к некорректной работе сервиса. Если вы хотите изменить пароль, создайте новых пользователей с такими же ролями, задайте пароль и используйте их для интеграции с внешними системами.
Мониторинг сервиса#
Для мониторинга сервиса мы рекомендуем включить облачный сервис мониторинга Prometheus.
Если вы хотите использовать свой собственный сервер мониторинга для контроля состояния и работоспособности экземпляров Elasticsearch, то можете воспользоваться экспортёром Prometheus elasticsearch_exporter.
Он развёртывается вместе с сервисом Elasticsearch и прослушивает порт tcp/9114
.
Дополнительно на все узлы кластера Elasticsearch устанавливается node_exporter.
Он позволяет снимать метрики экземпляров виртуальных машин и операционной системы и прослушивает порт tcp/9100
.