GET все SLO

Материал из Документация Ключ-АСТРОМ

API Ключ-АСТРОМ / Развёртывание / Цели уровня обслуживания (SLO) / GET все SLO

Перечисляет все цели уровня обслуживания и их расчетные значения.

По умолчанию значения рассчитываются для собственного таймфрейма SLO. Вы можете использовать пользовательский таймфрейм:

  1. Установите для параметра timeFrameGTF значение .
  2. Укажите временные рамки в параметрах from и to .

Запрос создает в качестве нагрузки application/json объект.

GET Managed https://{your-domain}/e/{your-environment-id}/api/v2/slo
Среда АктивногоШлюза https://{your-activegate-domain}/e/{your-environment-id}/api/v2/slo

Аутентификация

Чтобы выполнить этот запрос, вам нужен токен доступа с областью действия Read SLO ( slo.read) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .

Параметры

Параметр Тип Описание In Необходимость
nextPageKey string Курсор для следующей страницы результатов. Вы можете найти его в поле nextPageKey предыдущего ответа.

Первая страница всегда возвращается, если вы не укажете параметр запроса nextPageKey .

Когда nextPageKey настроен на получение последующих страниц, вы должны опустить все остальные параметры запроса.

query по желанию
pageSize integer Количество SLO в полезной нагрузке одного ответа.

Максимально допустимый размер страницы — 10000.

Если не установлено, используется 10.

query по желанию
from string Начало запрошенного таймфрейма.

Вы можете использовать один из следующих форматов:

  • Отметка времени в миллисекундах UTC.
  • Человекочитаемый формат 2021-01-25T05:57:01.123+01:00. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо T. Секунды и доли секунды не являются обязательными.
  • Относительный таймфрейм, назад. Формат: now-NU/A, где Nколичество времени, Uединица времени и Aвыравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, now-1y/wэто один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: now-NU. Поддерживаемые единицы времени для относительного таймфрейма:
    • m: минуты
    • h: часы
    • d: дни
    • w: недели
    • M: месяцы
    • y: годы

Если не задано, используется относительный двухнедельный таймфрейм ( now-2w).

query по желанию
to string Конец запрошенного периода времени.

Вы можете использовать один из следующих форматов:

  • Отметка времени в миллисекундах UTC.
  • Человекочитаемый формат 2021-01-25T05:57:01.123+01:00. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо T. Секунды и доли секунды не являются обязательными.
  • Относительный таймфрейм, назад. Формат: now-NU/A, где Nколичество времени, Uединица времени и Aвыравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, now-1y/wэто один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: now-NU. Поддерживаемые единицы времени для относительного таймфрейма:
    • m: минуты
    • h: часы
    • d: дни
    • w: недели
    • M: месяцы
    • y: годы

Если не установлено, используется текущая метка времени.

query по желанию
sloSelector string Объем запроса. В ответ включаются только SLO, соответствующие заданным критериям.

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

  • Идентификатор: идентификатор ("идентификатор"). Фильтры для SLO с заданным идентификатором.
  • Имя: имя("имя"). Фильтры для SLO с заданным названием. Фильтр чувствителен к регистру.
  • Состояние работоспособности: HealthState("ЗДОРОВО") или HealthState("НЕЗДОРОВО"). Можно указать только одно состояние работоспособности.
  • Текст: текст ("значение"). Фильтры для всех SLO, которые содержат данное значение в своем имени или описании. Фильтр нечувствителен к регистру.
  • Проблема: имя_проблемы("значение"). Фильтры для всех SLO, связанных с данным отображаемым именем проблемы (например, P-12345).

Чтобы задать несколько критериев, разделите их запятой (,). В ответ включаются только результаты, соответствующие всем критериям. например, .../api/v2/slo?sloSelector=name("Доступность службы"), .../api/v2/slo?sloSelector=id("id"), .../api/v2/slo ?sloSelector=текст("Описание"),healthState("ЗДОРОВО").

Специальные символы ~ и " необходимо экранировать с помощью символа ~ (например, текст поиска в двойных кавычках ("~"").

query по желанию
sort string Сортировка записей SLO:
  • name: Имена в порядке возрастания.
  • -name: Имена в порядке убывания.

Если не установлено, используется восходящий порядок.

query по желанию
timeFrame string Таймфрейм для расчета значений SLO:
  • CURRENT: собственный таймфрейм SLO.
  • GTF: период времени, заданный параметрами from и to .

Если не задано, используется CURRENTзначение.

Элемент может содержать эти значения

  • CURRENT
  • GTF
query по желанию
demo boolean Получите свои SLO ( false) или набор демонстрационных SLO ( true). query по желанию
evaluate boolean Получите SLO без их оценки ( false) или с оценками ( true) с максимальным pageSizeколичеством 25. query по желанию
enabledSlos string Получите включенные SLO ( true), отключенные ( false) или как включенные, так и отключенные ( all).

Элемент может содержать эти значения

  • true
  • false
  • all
query по желанию
showGlobalSlos boolean Получите свои глобальные SLO ( true) независимо от выбранного фильтра или отфильтруйте их ( false). query по желанию

Ответ

Коды ответов

Код Тип Описание
200 SLOs Успех. Ответ содержит параметры и расчетные значения запрошенного SLO.
400 ErrorEnvelope Не удалось. Ввод недействителен.

Объекты тела ответа

Объект SLOs

Содержит SLO и пейджинговую информацию.

Элемент Тип Описание
slo SLO[] Список SLO.
nextPageKey string Курсор для следующей страницы результатов. Имеет значение nullна последней странице.

Используйте его в параметре запроса nextPageKey для получения последующих страниц результата.

pageSize integer Количество записей на странице.
totalCount integer Общее количество записей в результате.

Объект SLO

Параметры целевого уровня обслуживания (SLO).

Элемент Тип Описание
problemFilters string[] УСТАРЕЛО

Фильтр сущностей для получения количества проблем, связанных с SLO. Генерируется автоматически, если в SLO не был добавлен фильтр.

metricExpression string Процентное выражение метрики для расчета SLO.
useRateMetric boolean УСТАРЕЛО

Тип метрики для расчета SLO:

  • true: существующая процентная метрика.
  • false: соотношение двух показателей.

Список доступных метрик см. на странице встроенных метрик или попробуйте вызов API GET метрик .

metricRate string УСТАРЕЛО

Процентная метрика для расчета SLO.

Требуется, если для параметра useRateMetric установлено значение true.

metricNumerator string УСТАРЕЛО

Метрика количества успехов (числитель при расчете рейтинга).

Требуется, если для параметра useRateMetric установлено значение false.

metricDenominator string УСТАРЕЛО

Метрика общего количества (знаменатель при расчете скорости).

Требуется, если для параметра useRateMetric установлено значение false.

evaluationType string Тип оценки SLO.

Элемент может содержать эти значения

  • AGGREGATE
errorBudgetBurnRate SloBurnRate Ошибка оценки скорости сжигания бюджета для целевого уровня обслуживания (SLO).
evaluatedPercentage number Расчетное значение SLO. Имеет значение оцениваемого SLO или значение -1:
  • Если есть ошибка при расчете SLO; в этом случае проверьте значение свойства ошибки .
  • Если для параметра оценки не установлено значение true; в этом случае свойство error не будет содержать ошибки.
burnRateMetricKey string Ключ скорости сжигания бюджета ошибок для выражения метрики.
errorBudgetMetricKey string Ключ бюджета ошибок для выражения метрики.
normalizedErrorBudgetMetricKey string Ключ нормализованного бюджета ошибок для выражения метрики.
numeratorValue number УСТАРЕЛО

Значение числителя, используемое для оценки SLO, когда для параметра useRateMetric установлено значение false.

denominatorValue number УСТАРЕЛО

Значение знаменателя, используемое для оценки SLO, когда для параметра useRateMetric установлено значение false.

relatedOpenProblems integer Количество ОТКРЫТЫХ проблем, связанных с SLO.

Имеет значение, -1если возникла ошибка при получении проблем, связанных с SLO.

relatedTotalProblems integer Общее количество проблем, связанных с SLO.

Имеет значение, -1если возникла ошибка при получении проблем, связанных с SLO.

hasAccess boolean SLO доступен через настройки, если hasAccess имеет значение true.
errorBudget number Бюджет ошибки рассчитанного SLO.

Бюджет ошибок — это разница между расчетным и целевым значениями. Положительное число означает, что все хорошо; отрицательное число означает проблемы.

metricKey string Ключ для метрического выражения. После создания метрические ключи нельзя изменить.
timeframe string Сроки оценки SLO. Используйте синтаксис глобального селектора таймфреймов.
filter string Фильтр объектов для оценки SLO. Используйте синтаксис селектора объектов .
description string Краткое описание SLO.
enabled boolean SLO включен ( true) или отключен ( false).
status string Статус рассчитанного SLO.

Элемент может содержать эти значения

  • FAILURE
  • SUCCESS
  • WARNING
error string Ошибка расчета SLO.

Если значение отличается от NONE, значит, что-то не так с расчетом SLO.

warning number Предупреждающее значение SLO.

В состоянии предупреждения SLO все еще выполняется, но приближается к отказу.

name string Название SLO.
id string Идентификатор SLO
target number Целевое значение SLO.

Объект SloBurnRate

Ошибка оценки скорости сжигания бюджета для целевого уровня обслуживания (SLO).

Элемент Тип Описание
burnRateVisualizationEnabled boolean Визуализация скорости сжигания бюджета ошибок включена ( true) или отключена ( false).

В случае false, здесь не будет вычисляемых значений.

fastBurnThreshold number Порог между медленной и быстрой скоростью горения.
sloValue number Расчетное значение SLO для таймфрейма, выбранного для расчета скорости выгорания.
estimatedTimeToConsumeErrorBudget number Расчетное время, оставшееся для использования бюджета ошибок в часах.
burnRateType string Расчетный тип скорости горения.

Имеет значение «БЫСТРО», «МЕДЛЕННО» или «НЕТ».

Элемент может содержать эти значения

  • FAST
  • NONE
  • SLOW
burnRateValue number Скорость записи SLO, рассчитанная за последний час.

JSON-модель тела ответа

{
  "slo": [
    {
      "problemFilters": "[type(\"SERVICE\")]",
      "metricExpression": "(100)*(builtin:service.errors.server.successCount:splitBy())/(builtin:service.requestCount.server:splitBy())",
      "useRateMetric": true,
      "metricRate": "builtin:service.successes.server.rate",
      "metricNumerator": "builtin:service.errors.server.successCount",
      "metricDenominator": "builtin:service.requestCount.server",
      "evaluationType": "AGGREGATE",
      "errorBudgetBurnRate": {
        "burnRateVisualizationEnabled": true,
        "fastBurnThreshold": 1.5,
        "sloValue": 95,
        "estimatedTimeToConsumeErrorBudget": 24,
        "burnRateType": "SLOW",
        "burnRateValue": 1.25
      },
      "evaluatedPercentage": 96.25,
      "burnRateMetricKey": "func:slo.errorBudgetBurnRate.payment_service_availability",
      "errorBudgetMetricKey": "func:slo.errorBudget.payment_service_availability",
      "normalizedErrorBudgetMetricKey": "func:slo.normalizedErrorBudget.payment_service_availability",
      "numeratorValue": 80,
      "denominatorValue": 90,
      "relatedOpenProblems": 1,
      "relatedTotalProblems": 1,
      "hasAccess": true,
      "errorBudget": 1.25,
      "metricKey": "func:slo.payment_service_availability",
      "timeframe": "-1d",
      "filter": "type(\"SERVICE\")",
      "description": "Rate of successful payments per week",
      "enabled": true,
      "status": "WARNING",
      "error": "NONE",
      "warning": 97.5,
      "name": "Payment service availability",
      "id": "123e4567-e89b-42d3-a456-556642440000",
      "target": 95
    }
  ],
  "nextPageKey": "AQAAABQBAAAABQ==",
  "pageSize": 1,
  "totalCount": 1
}