Облачная платформаAdvanced

Настройка мониторинга ядра для кластера Elasticsearch

Эта статья полезна?
Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Сценарий

Таблица 1 Введение в мониторинг ядра кластера

Функция улучшенного мониторинга

Описание

Версия кластера

Подробности

Задержка P99

Open-source Elasticsearch предоставляет только метрику средней задержки при мониторинге ответов на поисковые запросы. Это может не точно отражать реальную производительность поиска кластера. Чтобы улучшить это, метрика задержки P99 добавлена в CSS для мониторинга 99‑го процентиля задержки каждого кластера.

Elasticsearch 7.6.2, Elasticsearch 7.10.2

Коды состояния HTTP

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

Elasticsearch 7.6.2, Elasticsearch 7.10.2

Вход в Kibana

Войдите в Kibana и перейдите на страницу выполнения команд. Кластеры Elasticsearch поддерживают несколько методов доступа. В этой теме Kibana используется в качестве примера для описания процедур операции.

  1. Войдите в консоль управления CSS.
  2. В навигационной панели слева выберите Кластеры > Elasticsearch.
  3. В списке кластеров найдите целевой кластер и нажмите Kibana в Операция столбец для входа в консоль Kibana.
  4. В левой панели навигации выберите Dev Tools.

    Левая часть консоли представляет собой поле ввода команды, а треугольный значок в её правом верхнем углу — это кнопка выполнения. Правая часть отображает результат выполнения.

Мониторинг P99 задержки

Выполните следующую команду, чтобы получить P99 задержку текущего кластера:

GET /search/stats/percentile

Пример вывода выглядит следующим образом:

{
"overall" : {
"1.0" : 2.0,
"5.0" : 2.0,
"25.0" : 6.5,
"50.0" : 19.5,
"75.0" : 111.0,
"95.0" : 169.0,
"99.0" : 169.0,
"max" : 169.0,
"min" : 2.0
},
"last_one_day" : {
"1.0" : 2.0,
"5.0" : 2.0,
"25.0" : 6.5,
"50.0" : 19.5,
"75.0" : 111.0,
"95.0" : 169.0,
"99.0" : 169.0,
"max" : 169.0,
"min" : 2.0
},
"latest" : {
"1.0" : 26.0,
"5.0" : 26.0,
"25.0" : 26.0,
"50.0" : 26.0,
"75.0" : 26.0,
"95.0" : 26.0,
"99.0" : 26.0,
"max" : 26.0,
"min" : 26.0
}
}
Таблица 2 Параметры ответа

Параметр

Описание

общий

Статистика с момента запуска кластера до текущего времени.

last_one_day

Статистика за последний день.

последний

Статистика с последнего сброса до текущего времени.

Note
  • Расчитанная P99 задержка является оценкой, но она более точна, чем P50 задержка.
  • При перезапуске кластера его данные P99 задержки очищаются и измеряются повторно после успешного перезапуска кластера.

Команда, используемая для мониторинга P99 задержки кластеров, также может использоваться для установки других параметров конфигурации.

  • Вы можете настроить процентиль задержки для мониторинга.

    Например, выполните следующую команду, чтобы отобразить значения задержек P1, P50 и P90:

    GET /search/stats/percentile
    {
    "percents": [1, 50, 90]
    }

  • Вы можете вручную сбросить последние статистику.

    Выполните следующую команду, чтобы сбросить последние статистику:

    POST /search/stats/reset

    Если ok возвращается, сброс выполнен успешно.

    {
    "nodes" : {
    "css-c9c8-ess-esn-1-1" : "ok"
    }
    }

Мониторинг HTTP кодов состояния

Команда, используемая для мониторинга кодов статуса HTTP, меняется в зависимости от версий кластера.

  • В кластере Elasticsearch 7.6.2 выполните следующую команду, чтобы получить статистику по кодам статуса HTTP:
    GET /_nodes/http_stats

    Пример ответа:

    {
    "_nodes" : {
    "total" : 1,
    "successful" : 1,
    "failed" : 0 },
    "cluster_name" : "css-8362",
    "nodes" : {
    "F9IFdQPARaOJI7oL7HOXtQ" : {
    "http_code" : {
    "200" : 114,
    "201" : 5,
    "429" : 0,
    "400" : 7,
    "404" : 0,
    "405" : 0
    }
    }
    }
    }
  • В кластере Elasticsearch 7.10.2 выполните следующую команду, чтобы получить статистику по кодам статуса HTTP:
    GET _nodes/stats/http

    Пример ответа:

    {
    ......
    "cluster_name" : "css-2985",
    "nodes" : {
    ......
    "omvR9_W-TsGApraMApREjA" : {
    ......
    "http" : {
    "current_open" : 4,
    "total_opened" : 37,
    "http_code" : {
    "200" : 25,
    "201" : 7,
    "429" : 0,
    "400" : 3,
    "404" : 0,
    "405" : 0
    }
    }
    }
    }
    }