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

Мониторинг P99 задержки и HTTP кодов состояния

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

Сценарий

Table 1 Расширенные функции мониторинга

Метрика

Описание

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

Подробности

P99 задержка

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

Elasticsearch 7.6.2, Elasticsearch 7.10.2

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

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

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

Elasticsearch 7.6.2, Elasticsearch 7.10.2

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

Вход в Kibana

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

  1. Войдите в консоль управления CSS.
  2. В панели навигации слева выберите Clusters > Elasticsearch.
  3. В списке кластеров найдите целевой кластер и нажмите Kibana в столбце Operation, чтобы войти в консоль 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
}
}
Table 2 Параметры ответа

Параметр

Описание

overall

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

last_one_day

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

latest

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

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

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

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

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

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

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

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

    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
    }
    }
    }
    }
    }

Мониторинг P99 задержки и кодов состояния HTTP — документация Cloud Search Service руководство пользователя облако Cloud.ru