Сырые логи помогают самостоятельно получить ответы на многие вопросы, возникающие в процессе эксплуатации CDN. В частности, понять причины неполадок при доставке контента.
Раньше логи выгружались по протоколу TCP с помощью опции Syslog, и для их приёма клиентам приходилось использовать специальный сервис и софт. Это было неудобно. Поэтому мы разработали более комфортные способы получения логов.
Где находится опция?
Выгрузкой логов можно управлять в личном кабинете: опция находится в меню вкладки CDN.
Как получать логи?
Логи могут быть загружены на хранилище клиента по двум протоколам: S3 и FTP. Соответствующее хранилище для приёма логов настраивается и поддерживается клиентом самостоятельно.
Как долго мы храним логи?
Мы храним логи за последние 14 дней.
Как долго логи находятся в хранилище?
Поскольку хранилище управляется клиентом, он сам решает, какие логи и как долго хранить; расширять ли хранилище, если заканчивается место, или просто удалить старые данные.
Получение логов по протоколу S3
Получать логи по протоколу S3 можно в хранилище Amazon или в любое другое S3-совместимое объектное хранилище.
Получение логов по протоколу FTP
Для получения информации подойдёт любой стандартный FTP-сервер.
Как работает отправка логов?
Логи нескольких ресурсов можно отправлять в одну или разные папки.
Отправка логов происходит раз в час. Если доставить их (полностью или частично) не удалось, через час произойдёт повторная отправка. Если приём логов не работает длительное время, попытки доставки будут повторяться ежечасно. (Но, как отмечено ранее, мы храним логи только за последние 14 дней.)
Статусы доставки логов
OK. Загрузка проходит успешно.
Fail. Логи не принимались на стороне клиента в течение суток (все 24 попытки доставить логи оказались неудачными).
Paused. Опция на паузе. В этом режиме можно менять настройки. Они будут удалены только при отключении опции.
Как выглядит лог?
Пример строки лога:
"89.36.201.215" "-" "-" "[31/Oct/2018:11:30:12 +0000]" "GET /data/cid/storage1/clr/m/dd83f-25ec-4982-8b86-2bd12c2cb/mp4/10/682.m4s HTTP/1.1" "200" "113792" "-" "AppleCoreMedia/1.0.0.16A404 (iPhone; U; CPU OS 12_0_1 like Mac OS X; ru_ru)" "114162" "-" "http" "14.cdn.tv" "0.010" "0.009" "382" "-" "[m9]" "MISS" "113792" "32.122.112.73:80" "2626" "5536" "-" "-" "RO" "Karagandy" "shield_old" "92.223.99.99"
Используемый logformat файла лога:
log_format gcdn '"$remote_addr" "-" "$remote_user" "[$time_local]" '
'"$request" "$status" "$body_bytes_sent" '
'"$http_referer" "$http_user_agent" '
'"$bytes_sent" "$sent_http_content_size" "$scheme" "$host" '
'"$request_time" "$upstream_response_time" "$request_length" "$http_range" '
'"[m9]" "$upstream_cache_status" "$upstream_response_length" "$upstream_addr" '
'"$gcdn_api_client_id" "$gcdn_api_resource_id" "$uid_got" "$uid_set" '
'"$geoip_country_code" "$geoip_city" "$shield_type" "$server_addr"';
Описания переменных вы найдёте в базе знаний в разделе «Логи» либо в документации Nginx.
Как подключить опцию?
«Сырые логи» — платная опция. Для активации свяжитесь с вашим аккаунт-менеджером или напишите в чат техподдержки.