Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Просмотр, поиск и фильтрация журналов веб-запросов вашего сайта с помощью Cloud Logging

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

Вы можете связать свой проект Firebase с Cloud Logging, чтобы просматривать, искать и фильтровать журналы веб-запросов для каждого из ваших сайтов хостинга. Эти журналы поступают из сети CDN, которая автоматически предоставляется Firebase, поэтому каждый запрос к вашему сайту и связанные данные запроса регистрируются.

Вот некоторые действия, которые вы можете выполнить с журналами Cloud Logging. Посетите каждый раздел этой страницы, чтобы узнать подробности.

Если в вашем проекте несколько сайтов хостинга, вы можете выбрать, какой из ваших сайтов хостинга будет экспортировать журналы. Затем вы можете фильтровать и просматривать данные журналов по сайту хостинга и даже по домену. Выбрав определенные сайты хостинга для экспорта журналов, вы также можете контролировать объем данных, обрабатываемых для вашего проекта.

  1. Нажмите Ссылка на карточке интеграции Cloud Logging в консоли Firebase.

    Чтобы связать или отменить связь с Cloud Logging, вам потребуются разрешения, связанные с любой из следующих ролей: владелец или редактор проекта или администратор Firebase Develop .

  2. Следуйте инструкциям на экране, чтобы выбрать, какие из ваших сайтов хостинга должны экспортировать журналы в Cloud Logging.

    Если у вас уже есть один или несколько активных сайтов хостинга, рабочий процесс связывания отображает предполагаемый уровень использования данных для журналов с каждого из ваших сайтов хостинга. Это значение рассчитано за последние 30 дней.

После привязки к Cloud Logging журналы любых новых запросов к вашим сайтам хостинга обычно отображаются в течение 30 минут после отправки запроса.

Вы также можете отключить Firebase Hosting от Cloud Logging, что остановит экспорт журналов веб-запросов в Cloud Logging.

Отслеживайте использование данных для журналов

После привязки к Cloud Logging вы можете просматривать уровень использования данных для журналов с ваших сайтов хостинга:

Лучше понять ваш сайт

Интерфейс средства просмотра журналов в Google Cloud Console предлагает инструменты для просмотра конкретных журналов и данных с помощью запросов, встроенных фильтров и панелей данных. Узнайте больше о фильтрации журналов с помощью запросов в следующем разделе ниже.

  • Откуда приходит трафик на ваш сайт на детальном уровне?
    Вы можете просмотреть информацию о каждом запросе, включая IP-адрес источника, реферера, город и статус.

  • Когда пользователи посещают ваш сайт?
    Вы можете использовать панель «Гистограмма», чтобы увидеть распределение по конкретным временным диапазонам. Это может дать вам представление о нормальных пиках и падениях использования вашего приложения, а также выявить любые неожиданные всплески трафика.

  • Каково распределение статусов для запросов конечных пользователей?
    Вы можете просматривать статус каждого запроса и даже диагностировать запросы, которые получают ошибки. Вы можете отфильтровать свои журналы по Critical , Error или Warning .

  • Как долго ваш сайт отвечает на запрос?
    Вы можете просмотреть задержку вашего сайта для каждого запроса, используя значение latency , зафиксированное в каждом журнале.

  • Использует ли ваш сайт кэширование контента?
    Каждый журнал содержит поле cacheHit , чтобы сообщить вам, был ли ресурс вашего сайта быстро обслужен из кеша CDN хостинга или ему пришлось совершить полный переход к серверной части хостинга. Это может помочь вам повысить производительность вашего веб-сайта, максимально используя глобальную CDN Firebase. Например, вы можете использовать данные для точной настройки методов кэширования ваших статических ресурсов и динамического контента .

  • Как распределяется трафик между вашими доменами?
    Если у вас несколько доменов или сайтов хостинга, вы можете отфильтровать журналы по домену или по сайту. Это позволяет вам видеть, как распределяется ваш трафик. Когда вы фильтруете по домену, вы можете отслеживать, какой домен посещается чаще всего.

Фильтруйте журналы с помощью запросов

Чтобы узнать, как фильтровать журналы с помощью запросов, см. раздел Примеры запросов с использованием средства просмотра журналов и Создание запросов к журналам. В таблице ниже описаны поля, доступные для этих запросов.

Для хостинга вот несколько начальных фильтров для запроса:

  • Ресурс ( resource.type ) — firebase_domain (домен сайта хостинга Firebase)
  • Имя журнала ( logName ) — webrequests (Firebase Hosting)

Каждая запись в журнале имеет предопределенную структуру и запрашиваемые поля (см. LogEntry ). Для хостинга некоторые поля являются стандартными для HTTP-запроса, но есть и другие значения полей, полученные в результате обработки, которую хостинг выполняет для каждого запроса.

Поле Описание
Firebase Hosting сохраняет следующие поля в объекте httpRequest записи журнала.
Эти поля определены в спецификации HTTP.
cacheHit Независимо от того, имел ли Hosting CDN ресурс ответа в кеше.
latency Длительность запроса в секундах с постфиксом s (например, 1.256s ).
protocol Протокол, используемый для запроса (например, HTTP/1.1 , HTTP/2 , websocket ).
referer Адрес предыдущей веб-страницы, с которой была осуществлена ​​ссылка на текущую запрошенную страницу (если имеется)
remoteIp Исходный IP-адрес клиента для запроса
requestMethod Метод запроса ( GET , POST , PUT и т.д.)
requestSize Размер запроса в байтах
requestUrl Полный URL-адрес запроса (например,
https://foo.web.app/bar или https://custom.domain.com?query=param )
responseSize Размер ответа HTTP в байтах
serverIp не заселен
status Статус ответа HTTP (например, 200 или 404 )
userAgent Заголовок пользовательского агента запроса
Firebase Hosting хранит дополнительные поля в объекте jsonPayload записи журнала.
acceptEncoding (из HTTP-запроса) Какое кодирование контента, обычно алгоритм сжатия, поддерживает клиент (например, gzip или compress )
billable Независимо от того, был ли ваш проект выставлен счет за запрос
customDomain Был ли запрос сделан для пользовательского домена
hostname Имя хоста, для которого был сделан запрос
remoteIpCountry Страна происхождения запроса
remoteIpCity Город отправления запроса

Используйте метрики на основе журналов

Вы можете просматривать и создавать метрики на основе журналов , а затем использовать эти метрики в Cloud Monitoring для создания диаграмм и политик оповещений.

  • Используйте предопределенные системные метрики , которые автоматически записываются, например, количество событий регистрации, произошедших за определенный период времени.

  • Создавайте пользовательские метрики для своего проекта. Вы можете подсчитать количество записей журнала, соответствующих заданному запросу, или отслеживать определенные значения с помощью соответствующих записей журнала. Вы можете фильтровать с помощью регулярных выражений.

  • Используйте облачный мониторинг , чтобы записать количество записей журнала, содержащих определенные сообщения, или извлечь информацию о задержке, указанную в записях журнала. Затем вы можете использовать эти показатели в диаграммах и политиках оповещения.

Firebase Hosting также генерирует следующие показатели ведения журнала для конкретного хостинга. Эти показатели относятся не к записи журнала, а к конкретному сайту хостинга в целом.

  • log_bytes : общее количество байтов использования данных для каждого сайта.

  • response_count : общее количество ответов, написанных для сайта.

    Эта метрика включает поле статуса HTTP, поэтому вы можете отображать ответы HTTP по статусу (в качестве примера).

Экспорт журналов в другие инструменты Google Cloud

Вы также можете экспортировать журналы своего сайта в другие инструменты Google Cloud, такие как Cloud Monitoring или BigQuery, например:

  • С помощью Cloud Monitoring вы можете создавать метрики на основе журналов, которые можно использовать в диаграммах и политиках оповещения.

  • С помощью BigQuery вы можете выполнять любое из следующих действий:

    • Используйте Студию данных для создания информационных панелей ваших данных хостинга.
    • Выполняйте запросы, чтобы получить более полное представление о ваших запросах (средний размер ответа, попадание в кеш и промахи и т. д.).
    • Узнайте, какие URL-адреса на самом деле запрашивают ваши пользователи.
    • Объединяйте данные хостинга с другими данными Firebase, которые вы экспортировали в BigQuery, и запрашивайте их по-новому.