- tocdepth
2
Выгрузка серверных логов
В этом разделе описаны возможности получения сырых логов.
Описание лог-файла
Результирующий лог-файл начинается с заголовочной строки, содержащей перечень полей описанных ниже.
Структура лог-файла после заголовочной строки представляет собой таблицу, каждый столбец которой содержит соответствующее поле. Поля следуют друг за другом слева направо и разделены символом горизонтальной табуляции. Каждая строка лог-файла соответствует отдельному запросу, строки разделены символом перевода строки.
Название поля | Описание поля | Пример |
---|---|---|
timestamp | Дата и время в формате UNIX timestamp | 1417135813.178 |
remote_addr | IP-адрес пользователя | 81.19.133.15 |
remote_user | (служебное поле) | - |
time_local | Дата и время в читаемом формате | 2019-09-16 12:00:16+0000 |
request | Путь к файлу или видео потоку | /live/smil:chanel1.smil/m_b1600000_126952.ts |
status | Статус ответа | 200 |
body_bytes_sent | Объем отправленных байт (без заголовка) | 80840 |
out_bytes | Объем отправленных байт (с заголовком) | 81076 |
referrer | Реферер, адрес источника | http://www.site1.ru/ |
useragent | Агент/браузер веб-пользователя | Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36 |
http_x_forwarded_for | Содержимое HTTP-заголовка X-Forwarded-For, может содержать оригинальные IP-адреса пользователя | 192.168.7.114, 192.168.0.205, 81.19.133.15 |
host | Имя хоста запроса | site1.cdn.ru |
torso_id | (служебное поле) | - |
duration | Длительность запроса или части продолжающегося запроса в секундах | 0.616 |
upstream_response_time | Время ответа ориджина или промежуточного узла в секундах. Времена нескольких ответов разделяются запятыми | 0.021 |
upstream_status | Статус ответа ориджина/промежуточного узла (если запрос отдавался не из кеша раздающего узла). Статусы нескольких ответов разделяются запятыми | 200 |
country | Код страны по ISO_3166-1 | RU |
service | Тип услуги (static — "Ускорение загрузки веб контента", media — "Онлайн трансляции и видео по запросу") | media |
cache_status | кеш-статус запроса (HIT - ответ был отдан из кеша CDN, MISS - запрос был отправлен на ориджин) | HIT |
logtype | (служебное поле) | - |
custom_field | (опционально) некоторые дополнительные значения |
Проверка наличия логов через API
Данный вызов предназначен для проверки существования логов.
Запрос для проверки наличия логов за определенный интервал времени:
URL: https://api.cdn.sber.cloud/app/logs/v1/accounts/<your_account_name>/exists?startdate=<start_date>`&enddate=<end_date>
Тип запроса: GET
Заголовки: CDN-AUTH-TOKEN
Обязательные GET-параметры:
startdate — дата и время начала интервала в формате
'YYYY-MM-DDTHH:mm:ssZ'
enddate — дата и время окончания интервала
'YYYY-MM-DDTHH:mm:ssZ'
Тип данных ответа: JSON Object или String (в случае ошибки)
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | Информация о наличии логов за определенный интервал времени | JSON | ОК |
400 | None | None | Плохой запрос |
401 | None | None | Нет доступа |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN"
https://api.cdn.sber.cloud/app/logs/v1/accounts/paejgjuv/exists?startdate=2019-08-01T00:00:00Z&enddate=2019-09-01T00:00:00Z
Пример успешного ответа
{
"account": "paejgjuv",
"startdate": "2019-08-01T00:00:00+0000",
"enddate": "2019-09-01T00:00:00+0000",
"exists": true
}
Пример неуспешного ответа
No startdate or enddate in query
Описание полей из тела ответа:
account
— имя аккаунта;startdate
— дата и время начала интервала;enddate
— дата и время окончания интервала;exists
— статус наличия логов с заданными параметрами,true
— наличие минимум одной строки, иначе —false
.
Получение лог-файла через API
Запрос к API для получения лог-файла за определенный интервал времени ввиде gzip-потока:
URL: https://api.cdn.sber.cloud/app/logs/v1/accounts/<your_account_name>/get?startdate=<start_date>&enddate=<end_date>
Тип запроса: GET
Заголовки: CDN-AUTH-TOKEN
Обязательные GET-параметры:
startdate — дата и время начала интервала в формате
'YYYY-MM-DDTHH:mm:ssZ'
enddate — дата и время окончания интервала
'YYYY-MM-DDTHH:mm:ssZ'
Тип данных ответа: gzip-поток
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | Логи за определенный интервал времени | gzip-поток | ОК |
400 | None | None | Плохой запрос |
401 | None | None | Нет доступа |
404 | None | None | Не найдено |
500 | None | None | Внутренняя ошибка сервера |
503 | None | None | Сервис недоступен |
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
'https://api.cdn.sber.cloud/app/logs/v1/accounts/paejgjuv/get?startdate=2019-08-01T00:00:00Z&enddate=2019-09-01T00:00:00Z'
В теле ответе будет передан лог за временной интервал, указанный в аргументах в виде gzip-потока. Временной интервал соответствует правилу: startdate <= logs_time_interval < enddate
.
Подробное описание результирующего файла представлено выше.
для Dev & Test