Статьи

Новые отчеты Elasticsearch: грелки, бассейны и выключатели

Вы читали Top 10 Elasticsearch Metrics для просмотра ?

Как насчет нашей бесплатной электронной книги — Elasticsearch Monitoring Essentials ?

Если у вас есть, мы впечатлены. Если нет, это отличное чтение перед сном. 😉

Помимо написания материала для чтения перед сном, в прошлом месяце мы также написали некоторый код и добавили несколько новых и полезных метрик Elasticsearch в SPM . В частности, мы добавили:

  • Показатели теплоты индекса
  • Метрики пула потоков
  • Показатели выключателя

Так почему это важно? Читать дальше!

Индекс Обогреватели

Обогреватели делают то, что подразумевает их имя. Они разогреваются. Но что? Индексы. Почему? Поскольку прогрев индекса означает, что поиск по нему будет быстрее. Таким образом, можно разогреть индексы, прежде чем подвергать их поискам. Если вы пришли в Elasticsearch из Solr, это эквивалентно поисковым запросам в Solr.

ES_Warmer

Пулы потоков

Узлы Elasticsearch используют несколько выделенных пулов потоков для обработки различных типов запросов. Например, запросы на индексирование обрабатываются пулом потоков, который отделен от пула потоков, который обрабатывает поисковые запросы. Это помогает улучшить управление памятью, расставить приоритеты запросов, изолировать и т. Д. Существует более десятка пулов потоков, и каждый из них предоставляет почти дюжину метрик.

Каждый пул также имеет очередь, которая позволяет удерживать некоторые запросы, а не просто отбрасывать их, когда узел очень занят. Однако, если ваш кластер Elasticsearch обрабатывает много одновременных или медленных запросов, иногда может потребоваться начать отклонять запросы, если эти очереди пула потоков заполнены. Когда это начнет происходить, вы захотите узнать об этом как можно скорее. Таким образом, вы должны уделять пристальное внимание метрикам пула потоков и, возможно, захотите установить оповещения и оповещения об обнаружении аномалий SPM для метрики, которая показывает количество отклонений или размер очереди, чтобы вы могли настроить параметры размера очереди или другие параметры, чтобы избежать запросов. отвергнуто.

В качестве альтернативы или, возможно, дополнительно, вы можете передать свои журналы в Logsene. Elasticsearch может регистрировать отклонения запросов (см. Пример ниже), поэтому, если вы отправите свои журналы Elasticsearch в Logsene , у вас будут как метрики Elasticsearch , так и их журналы, доступные для устранения неполадок. Более того, в Logsene вы можете создавать запросы предупреждений, которые предупреждают вас об аномалиях в ваших журналах, и такие запросы предупреждений предупредят вас, когда Elasticsearch начнет регистрировать ошибки, как в примере, показанном здесь:

o.es.c.u.c.EsRejectedExecutionException: rejected execution (queue capacity 1000) on org.elasticsearch.search.action.SearchServiceTransportAction$23@5a805c60
at org.elasticsearch.common.util.concurrent.EsAbortPolicy.rejectedExecution(EsAbortPolicy.java:62)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372)
at org.elasticsearch.search.action.SearchServiceTransportAction.execute(SearchServiceTransportAction.java:509)
at org.elasticsearch.search.action.SearchServiceTransportAction.sendExecuteScan(SearchServiceTransportAction.java:441)
at org.elasticsearch.action.search.type.TransportSearchScanAction$AsyncAction.sendExecuteFirstPhase(TransportSearchScanAction.java:68)
at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.performFirstPhase(TransportSearchTypeAction.java:171)
at org.elasticsearch.action.search.type.TransportSearchTypeAction$BaseAsyncAction.start(TransportSearchTypeAction.java:153)
at org.elasticsearch.action.search.type.TransportSearchScanAction.doExecute(TransportSearchScanAction.java:52)
at org.elasticsearch.action.search.type.TransportSearchScanAction.doExecute(TransportSearchScanAction.java:42)
at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:63)
at org.elasticsearch.action.search.TransportSearchAction.doExecute(TransportSearchAction.java:107)
at org.elasticsearch.action.search.TransportSearchAction.doExecute(TransportSearchAction.java:43)
at org.elasticsearch.action.support.TransportAction.execute(TransportAction.java:63)
at org.elasticsearch.action.search.TransportSearchAction$TransportHandler.messageReceived(TransportSearchAction.java:124)
at org.elasticsearch.action.search.TransportSearchAction$TransportHandler.messageReceived(TransportSearchAction.java:113)

ES_Threadpools

Автоматические выключатели

Автоматические выключатели — это попытка Elasticsearch контролировать использование памяти и предотвратить ужасную ошибку OutOfMemoryError. В настоящее время существует два автоматических выключателя — один для полевых данных, другой для запросов. Короче говоря, вы можете установить ограничения для каждого из них и предотвратить чрезмерное использование памяти, чтобы избежать разрушения кластера OOME.

ES_Circuit_Breakers

Хотите что-то подобное для своего кластера Elasticsearch?

Не стесняйтесь зарегистрироваться здесь и наслаждаться всеми SPM для совершенства Elasticsearch.  Там нет обязательств и не требуется кредитная карта.  И, если вы молодой стартап , небольшая или некоммерческая организация или учебное заведение , попросите нас о скидке (см. Специальные цены )!

Отзывы и вопросы

Мы рады ответить на вопросы или получить обратную связь — напишите нам или напишите нам @sematext .