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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Поле Описание
Хостинг Firebase сохраняет следующие поля в объекте httpRequest записи журнала.
Эти поля определены в спецификации HTTP.
cacheHit Имелся ли у хостинговой 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 хранит дополнительные поля в объекте 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 , вы можете выполнить любое из следующих действий:

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