Логи в CDN — мощный инструмент для администраторов и разработчиков, который дает доступ к детальной информации о запросах пользователей. Он помогает оптимизировать производительность, улучшить качество обслуживания, обеспечить безопасность онлайн-сервисов и доступность контента для конечных пользователей. Чтобы сделать эту работу эффективнее, мы добавили в панель управления возможность выгружать сырые логи.
Просмотр логов
В просмотре логов доступна информация о запросах пользователей к ресурсам. Ее можно экспортировать.
Логи содержат данные о времени запроса к CDN-ресурсу, IP-адресе клиента, HTTP-методе запроса, статусе файлов в кэше, коде ответа CDN-сервера и CDN-ресурсе. Если нужно, можно настроить фильтры, чтобы отображалась только важная информация. Посмотреть и скачать логи также можно через API. Этот процесс подробно описан в документации.
Чаще всего просмотр необходим для мониторинга производительности и выявления проблем с задержкой доставки или потерей данных в реальном времени. Кроме того, логи позволяют оперативно обнаруживать некорректную работу CDN, например проблемы с кэшированием, доступом к контенту, ошибки серверов или запросов. Все это помогает избежать сбоев в работе сайта или оперативно устранить их.
Казалось бы, логи — отличная штука! К сожалению, их просмотр связан с некоторыми ограничениями. Он доступен только за последние три дня, выгружает на экран данные за шесть часов работы CDN и может отражать не более 1 000 записей. Соответственно, сложно заниматься долгосрочным анализом, искать исторические проблемы, проводить аудит за продолжительный период. Особенно заметно это проявляется в крупных проектах с большим трафиком.
Для полноценной работы с логами мы добавили в панель управления опцию их выгрузки.
Для чего нужна выгрузка сырых логов
Вообще, это одна из самых популярных опций, предоставляемых CDN. Она открывает администраторам и разработчикам доступ к детальной информации о запросах пользователей, поступающих на кэширующие CDN-серверы и прекеш-серверы. Эти логи содержат ценные данные, которые можно использовать для различных целей.
- Мониторинг и анализ трафика. Логи позволяют отслеживать, сколько запросов поступает на серверы, из каких регионов они приходят и какие ресурсы чаще задействуют.
- Обнаружение и устранение проблем. Детальная информация о запросах помогает быстро выявлять и устранять проблемы с доставкой контента, такие как ошибки сервера или проблемы с кешированием.
- Оптимизация производительности. Анализ логов помогает понять, какие элементы сайта загружаются дольше всего и требуют оптимизации.
- Безопасность. Логи могут быть использованы для обнаружения и предотвращения DDoS-атак или попыток взлома.
Как работает выгрузка сырых логов
Механизм выгрузки сырых логов в CDN включает три этапа: сбор данных, автоматическую выгрузку, обработку и анализ. Рассмотрим каждый из них подробнее.
- На первом этапе CDN-серверы собирают данные о всех запросах, поступающих на них, включая информацию о времени запроса, IP-адресе пользователя, запрашиваемом ресурсе, статусе ответа и других параметрах.
- На втором — настроенная опция выгрузки автоматически переносит эти логи в указанное хранилище клиента, например, в объектное или любое другое. Логи выгружаются в конце каждого часа. Если настроить опцию Сырые логи в 01:30, первые из них придут в интервале между 01:45 и 02:00, следующие — между 02:45 и 03:00 и т. д.
В каких кейсах применима выгрузка сырых логов
Рассмотрим несколько примеров, в которых полезна выгрузка сырых логов.
Администрирование больших веб-сайтов и порталов
В данном случае речь идет о мониторинге и оптимизации производительности сайтов с высоким трафиком. Детальный анализ логов предоставляет доступ к полной информации о запросах, что позволяет глубже изучать поведение пользователей и проблемы с доставкой контента.
Допустим, администратор большого веб-портала или e-commerce платформы замечает, что в определенное время нагрузка на серверы резко возрастает и сайт работает медленно. Сырые логи помогут выяснить, какие запросы привели к перегрузке системы, сколько запросов было выполнено, сколько из них вернули ошибки или коды перенаправления. Анализируя логи, можно понять, есть ли проблемы с кэшированием контента на CDN и какие ресурсы наиболее востребованы. Это позволит оптимизировать распределение контента.
Анализ поведения пользователей
Маркетинговые команды часто хотят более глубоко анализировать поведение пользователей на сайтах. Например, знать, из каких стран приходит трафик, какие страницы или файлы наиболее популярны.
Сырые логи CDN содержат данные о каждом запросе, включая IP-адреса, геолокацию пользователей, время и типы запросов. Эти данные можно использовать для создания отчетов о поведении пользователей, выявления тенденций, сезонных пиков и региональных особенностей трафика.
Выявление и предотвращение DDoS-атак
Защита от DDOS-атак — обязательная опция почти любого современного сервиса. Тем не менее, одного подключения защиты мало. Даже если атака отражена, необходимо определить ее источник, чтобы минимизировать риски в будущем.
Логи CDN помогут выявить подозрительную активность, например, большое количество запросов с одного и того же IP-адреса или аномальный всплеск запросов в короткий период времени. Это позволит оперативно заблокировать атакующие IP-адреса или внедрить другие защитные меры.
Улучшение пользовательского опыта
Доводилось ли вам когда-нибудь сталкиваться с медленной загрузкой сайта или приложения? А с частыми ошибками при попытке загрузить контент?
Анализ сырых логов может выявить проблемы с производительностью на стороне CDN. Например, с доставкой контента в конкретных регионах или на устройствах определенного типа. Это поможет исправить конфигурации и улучшить время загрузки для конечных пользователей.
Как настроить работу с логами
Логи за последние три дня хранятся в панели управления и доступны бесплатно. Вот как их посмотреть.
- В панели управления перейдите в раздел CDN → Логи.
- Откройте вкладку Просмотр логов.
- Выберите ресурс, логи которого хотите посмотреть. Чтобы посмотреть логи по всем ресурсам Selectel, выберите Все ресурсы.
- Укажите начало периода, за который хотите посмотреть логи (максимум три дня от текущей даты).
- Выберите длительность периода: 30 минут, один, три или шесть часов.
- Нажмите Применить.
- Чтобы скачать данные за выбранный период в формате CSV, нажмите Экспорт.
Сырые логи можно выгружать в объектное хранилище Selectel или любое доступное хранилище типа S3, FTP или SFTP. Они попадают туда в виде файлов с данными в формате .log в конце каждого часа. Бывает так, что за час CDN-серверы не получают новых запросов. В таком случае выгрузка все равно произойдет, но в хранилище отправится пустой файл размером около 20 байт.
Чтобы подключить выгрузку, создайте тикет. Обратите внимание, что это платная услуга. Подробная настройка описана в документации.