Выгрузка серверных логов
В этом разделе описаны возможности получения сырых логов.
Описание лог-файла
Результирующий лог-файл начинается с заголовочной строки, содержащей перечень полей описанных ниже.
Структура лог-файла после заголовочной строки представляет собой таблицу, каждый столбец которой содержит соответствующее поле. Поля следуют друг за другом слева направо и разделены символом горизонтальной табуляции. Каждая строка лог-файла соответствует отдельному запросу, строки разделены символом перевода строки.
Название поля | Описание поля | Пример |
---|---|---|
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. Подробное описание результирующего файла представлено выше.
- Описание лог-файла
- Проверка наличия логов через API
- Получение лог-файла через API