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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поле Описание
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 Заголовок user-Agent запроса
Firebase Hosting хранит дополнительные поля в объекте jsonPayload записи журнала.
acceptEncoding (из HTTP-запроса) Какое кодирование контента, обычно алгоритм сжатия, поддерживает клиент (например, gzip или compress )
billable Был ли выставлен счет за ваш проект по запросу
customDomain Был ли запрос сделан в отношении пользовательского домена
hostname Имя хоста, к которому был сделан запрос
remoteIpCountry Страна происхождения запроса
remoteIpCity Город отправления запроса

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

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

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

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

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

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

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

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

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

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

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

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

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

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