Перейти к содержанию

API для получения метрик

Общая информация

API предназначен для получения метрик по трафику CDN в формате JSON. Все ответы, включая ошибки, возвращаются в формате JSON.

Базовый URL: https://api.cdnvideo.ru/app/metrics/v1/

API для получения метрик

  • Обязательные заголовки: CDN-AUTH-TOKEN (см. Авторизация)
  • Content-Type ответа: application/json
  • Структура ответов: ключ status, при успехе — data, при ошибке — description

Авторизация

Доступ к API осуществляется по токену. Подробности получения токена — в разделе Авторизация.

Связанные API

Для получения списка доступных аккаунтов (см. Получение списка аккаунтов)

Ограничения

Нижеуказанные ограничения относятся к эндпоинтам / и /resources

  • Возвращают данные за период от 1 до 10 минут.
  • Все временные параметры должны быть с точностью до минуты: секунды всегда == 00. Если указаны секунды, отличные от 00, то возвращается ошибка "Invalid time format. Time must be at minute precision"
  • Параметры account, start, endобязательные.
  • Возможна фильтрация по метрикам (metric) и ресурсам (resource).

Описание возможных кодов ответа

Код ответа Статус ответа Описание ответа
200 OK Успешный запрос
403 Forbidden Неверный токен или нет доступа
422 Unprocessable Entity Неправильные параметры запроса
500 Internal Server Error Ошибка сервера
504 Gateway Timeout Превышено время выполнения запроса

При успешном ответе HTTP 200 тело содержит JSON с полями start, end, account, metrics, data.

Методы API

Общие данные за период (/)

Описание:
Получение общих данных за указанный период по выбранному аккаунту с возможностью фильтрации по метрикам и ресурсу.

  • Метод: GET
  • URL: https://api.cdnvideo.ru/app/metrics/v1/
  • Заголовки:
  • CDN-AUTH-TOKEN — авторизационный токен (см. Авторизация)
  • Формат ответа: JSON

Параметры запроса (query)

Параметр Тип Обязательный Описание
account string да Имя аккаунта
start string да Начало интервала в формате YYYY-MM-DDThh:mm:00 (UTC, секунды = 00)
end string да Конец интервала в формате YYYY-MM-DDThh:mm:00 (UTC, секунды = 00)
metric string нет Фильтр по метрике. Несколько значений передаются как несколько параметров: metric=value1&metric=value2&....
resource string нет Фильтр по ресурсу (идентификатор ресурса)

Коды ответов

Используются коды ответов Описание возможных кодов ответа.

Примеры запросов

Пример запроса с одной метрикой

curl -H "CDN-AUTH-TOKEN: $TOKEN" \ 'https://api.cdnvideo.ru/app/metrics/v1/?account=test_account&start=2025-07-16T11:00:00&end=2025-07-16T11:01:00&metric=edge_hit_bytes'

Пример успешного ответа

{
  "start": "2025-07-16T11:00:00",
  "end": "2025-07-16T11:01:00",
  "account": "test_account",
  "metrics": ["edge_hit_bytes"],
  "data": [
    { "edge_hit_bytes": 54123511411 }
  ]
}

Описание параметров ответа

Параметр Описание
start начало запрашиваемого периода
end конец запрашиваемого периода
account имя аккаунта
metrics edge_hit_bytes - количество кэшированного трафика по _edge
data данные по метрике edge_hit_bytes

Пример запроса с несколькими метриками

curl -H "CDN-AUTH-TOKEN: $TOKEN" \ 'https://api.cdnvideo.ru/app/metrics/v1/?account=test_account&start=2026-02-22T15:33:00&end=2026-02-22T15:35:00&metric=edge_status_2xx&metric=edge_hit_ratio&metric=edge_hit_bytes'

Пример успешного ответа

{
  "start": "2026-02-22T15:33:00",
  "end": "2026-02-22T15:35:00",
  "account": "test_account",
  "metrics": [
    "edge_status_2xx",
    "edge_hit_ratio",
    "edge_hit_bytes"
  ],
  "data": [
    {
      "edge_status_2xx": 3864464,
      "edge_hit_ratio": 0.9380079224014987,
      "edge_hit_bytes": 2046651070084
    }
  ]
}

Описание параметров ответа

Параметр Описание
start начало запрашиваемого периода
end конец запрашиваемого периода
account имя аккаунта
metrics edge_status_2xx - количество запросов со статусом 2xx по edge, edge_hit_ratio - доля кэшированного трафика, edge_hit_bytes - количество кэшированного трафика по _edge
data данные по метрикам: edge_status_2xx, edge_hit_ratio, edge_hit_bytes

Данные за период с разбивкой по ресурсам (/resources)

Описание:

Получение общих данных за указанный период по выбранному аккаунту с разбивкой по ресурсам и дополнительной фильтрацией по метрикам и ресурсам. Возвращает те же метрики, но с разбивкой по ресурсам (поле resource, resource_name, cname). Каждый элемент data соответствует одному ресурсу.

  • Метод: GET
  • URL: https://api.cdnvideo.ru/app/metrics/v1/resources
  • Заголовки:
  • CDN-AUTH-TOKEN — авторизационный токен (см. Авторизация)
  • Формат ответа: JSON

Параметры запроса (query)

Параметр Тип Обязательный Описание
account string да Имя аккаунта
start string да Начало интервала в формате YYYY-MM-DDThh:mm:00 (UTC, секунды = 00)
end string да Конец интервала в формате YYYY-MM-DDThh:mm:00 (UTC, секунды = 00)
metric string нет Фильтр по метрике. Несколько значений передаются как несколько параметров: metric=value1&metric=value2&....
resource string нет Фильтр по ресурсу (идентификатор ресурса)

Коды ответов

Используются коды ответов Описание возможных кодов ответа.

Примеры запросов

Пример запроса с одной метрикой

curl -H "CDN-AUTH-TOKEN: $TOKEN" \ 'https://api.cdnvideo.ru/app/metrics/v1/resources?account=test_account&start=2025-07-23T08:00:00&end=2025-07-23T08:05:00&metric=origin_requests_total'

Пример успешного ответа

{
  "start": "2025-07-23T08:00:00",
  "end": "2025-07-23T08:05:00",
  "account": "test_account",
  "metrics": ["origin_requests_total"],
  "data": [
    {
      "cname": "test_cname",
      "origin_requests_total": 225638,
      "resource": "test_resource",
      "resource_name": "test_resource_name"
    }
  ]
}

Описание параметров ответа

Параметр Описание
start начало запрашиваемого периода
end конец запрашиваемого периода
account имя аккаунта
metrics origin_requests_total - количество запросов по _origin
data cname - имя хоста
данные по метрике origin_requests_total
resource - ресурс
resource_name - название ресурса

Пример запроса с несколькими метриками

curl -H "CDN-AUTH-TOKEN: $TOKEN" \ 'https://api.cdnvideo.ru/app/metrics/v1/resources?account=test_account&start=2026-02-22T12:00:00&end=2026-02-22T12:05:00&metric=edge_status_2xx&metric=edge_hit_bytes'

Пример успешного ответа

{
  "start": "2026-02-22T12:00:00",
  "end": "2026-02-22T12:05:00",
  "account": "test_account",
  "metrics": [
      "edge_status_2xx",
      "edge_hit_bytes"
  ],
  "data": [
      {
        "cname": "test_cname",
        "edge_status_2xx": 4353253,
        "edge_hit_bytes": 4721746395190,
        "resource": "test_resource",
        "resource_name": "test_resource_name"
      }
   ]
}

Описание параметров ответа

Параметр Описание
start начало запрашиваемого периода
end конец запрашиваемого периода
account имя аккаунта
metrics edge_status_2xx - количество запросов со статусом 2xx по edge, edge_hit_bytes - количество кэшированного трафика по _edge
data cname - имя хоста
данные по метрикам: edge_status_2xx, edge_hit_bytes
resource - ресурс
resource_name - название ресурса

Доступные метрики

Ниже перечислены метрики, доступные в JSON‑ответах эндпоинтов / и /resources

Метрики origin

Метрика Описание
origin_bandwidth Пропускная способность от конечного пользователя до origin-сервера (бит в секунду)
origin_status_200 Количество запросов со статусом 200 по origin за указанный период времени
origin_status_204 Количество запросов со статусом 204 по origin за указанный период времени
origin_status_206 Количество запросов со статусом 206 по origin за указанный период времени
origin_status_2xx Количество запросов со статусом 2xx по origin за указанный период времени
origin_status_301 Количество запросов со статусом 301 по origin за указанный период времени
origin_status_302 Количество запросов со статусом 302 по origin за указанный период времени
origin_status_304 Количество запросов со статусом 304 по origin за указанный период времени
origin_status_3xx Количество запросов со статусом 3xx по origin за указанный период времени
origin_status_400 Количество запросов со статусом 400 по origin за указанный период времени
origin_status_401 Количество запросов со статусом 401 по origin за указанный период времени
origin_status_403 Количество запросов со статусом 403 по origin за указанный период времени
origin_status_404 Количество запросов со статусом 404 по origin за указанный период времени
origin_status_416 Количество запросов со статусом 416 по origin за указанный период времени
origin_status_429 Количество запросов со статусом 429 по origin за указанный период времени
origin_status_4xx Количество запросов со статусом 4xx по origin за указанный период времени
origin_status_500 Количество запросов со статусом 500 по origin за указанный период времени
origin_status_501 Количество запросов со статусом 501 по origin за указанный период времени
origin_status_502 Количество запросов со статусом 502 по origin за указанный период времени
origin_status_503 Количество запросов со статусом 503 по origin за указанный период времени
origin_status_504 Количество запросов со статусом 504 по origin за указанный период времени
origin_status_505 Количество запросов со статусом 505 по origin за указанный период времени
origin_status_5xx Количество запросов со статусом 5xx по origin за указанный период времени
origin_request_time Время загрузки с origin-серверов за указанный интервал времени. Это медиана времени обработки/загрузки в секундах для успешных (HTTP 2xx) ответов из указанного диапазона размера.
Диапазоны размеров ответа:
0_250k — 0–250 Кбайт
250k_500k — 250–500 Кбайт
500k_750k — 500–750 Кбайт
750k_1m — 750 Кбайт – 1 Мбайт
1m_2m — 1–2 Мбайт
2m_3m — 2–3 Мбайт
3m_4m — 3–4 Мбайт
4M+ — больше 4 Мбайт
origin_requests_total Количество запросов к origin-серверам за указанный интервал времени

Метрики edge

Метрика Описание
edge_bandwidth Пропускная способность от конечного пользователя до edge-сервера (бит в секунду)
edge_status_200 Количество запросов со статусом 200 по edge за указанный период времени
edge_status_204 Количество запросов со статусом 204 по edge за указанный период времени
edge_status_206 Количество запросов со статусом 206 по edge за указанный период времени
edge_status_2xx Количество запросов со статусом 2xx по edge за указанный период времени
edge_status_301 Количество запросов со статусом 301 по edge за указанный период времени
edge_status_302 Количество запросов со статусом 302 по edge за указанный период времени
edge_status_304 Количество запросов со статусом 304 по edge за указанный период времени
edge_status_3xx Количество запросов со статусом 3xx по edge за указанный период времени
edge_status_400 Количество запросов со статусом 400 по edge за указанный период времени
edge_status_401 Количество запросов со статусом 401 по edge за указанный период времени
edge_status_403 Количество запросов со статусом 403 по edge за указанный период времени
edge_status_404 Количество запросов со статусом 404 по edge за указанный период времени
edge_status_416 Количество запросов со статусом 416 по edge за указанный период времени
edge_status_429 Количество запросов со статусом 429 по edge за указанный период времени
edge_status_4xx Количество запросов со статусом 4xx по edge за указанный период времени
edge_status_500 Количество запросов со статусом 500 по edge за указанный период времени
edge_status_501 Количество запросов со статусом 501 по edge за указанный период времени
edge_status_502 Количество запросов со статусом 502 по edge за указанный период времени
edge_status_503 Количество запросов со статусом 503 по edge за указанный период времени
edge_status_504 Количество запросов со статусом 504 по edge за указанный период времени
edge_status_505 Количество запросов со статусом 505 по edge за указанный период времени
edge_status_5xx Количество запросов со статусом 5xx по edge за указанный период времени
edge_request_time Время загрузки с edge-серверов за указанный интервал времени. Это медиана времени обработки/загрузки в секундах для успешных (HTTP 2xx) ответов из указанного диапазона размера.
Диапазоны размеров ответа:
0_250k — 0–250 Кбайт
250k_500k — 250–500 Кбайт
500k_750k — 500–750 Кбайт
750k_1m — 750 Кбайт – 1 Мбайт
1m_2m — 1–2 Мбайт
2m_3m — 2–3 Мбайт
3m_4m — 3–4 Мбайт
4M+ — больше 4 Мбайт
edge_requests_total Количество запросов к edge-серверам за указанный интервал времени
edge_hit_ratio Доля кэшированного трафика за указанный интервал времени. Рассчитывается по формуле: кэшированный трафик / общий трафик
edge_hit_bytes Количество байтов, возвращаемых при попадании в кэш, за указанный интервал времени