Вы можете связать свой проект Firebase с Cloud Logging , чтобы просматривать, искать и фильтровать журналы веб-запросов для каждого из ваших Hosting сайтов. Эти журналы берутся из CDN, который автоматически предоставляется Firebase, поэтому регистрируются каждый запрос к вашему сайту и связанные с ним данные запроса.
Вот некоторые действия, которые вы делаете с журналами Cloud Logging . Посетите каждый раздел этой страницы, чтобы узнать подробности.
Лучше понять свой сайт . Узнайте, где и когда вы посещали ваш сайт, статусы ответов вашего сайта, задержку запросов конечных пользователей и многое другое.
Фильтруйте журналы с помощью запросов . Используйте автоматически собранные данные для фильтрации и построения данных, связанных с каждым запросом или вашим сайтом.
Используйте метрики на основе журналов . Создавайте диаграммы облачного мониторинга и политики оповещений на основе предопределенных системных или пользовательских метрик.
Экспортируйте журналы в другие инструменты Google Cloud . Используйте данные журналов в других инструментах (например, BigQuery и Data Studio) для более эффективного анализа и корреляции.
Если в вашем проекте есть несколько Hosting сайтов, вы можете выбрать, какой из ваших Hosting сайтов будет экспортировать журналы. Затем вы можете фильтровать и просматривать данные журналов по Hosting и даже по домену. Выбрав определенные сайты Hosting для экспорта журналов, вы также можете контролировать объем данных, обрабатываемых для вашего проекта.
Cloud Logging бесплатна при использовании до 50 ГБ данных в месяц (на проект). Это использование может осуществляться из любого продукта Google или Firebase, использующего Cloud Logging . Вы можете обновить свой проект до тарифного плана Blaze, чтобы разблокировать дополнительное платное использование. Узнайте больше о ценах на Cloud Logging .
Вы можете отслеживать и управлять Cloud Logging и выставлением счетов:
Оцените свои счета Cloud Logging с помощью калькулятора цен Google Cloud .
Регулирование журналов путем создания исключений .
Настройте оповещения , чтобы контролировать расходы.
Обратите внимание, что запись журнала для конкретного запроса может задерживаться или, в редких случаях, удаляться. Хотя журналы можно использовать для понимания запросов, они могут не отражать истинное использование, которое отображается в использовании вашего проекта и выставлении счетов.
Подключитесь к Cloud Logging и отслеживайте использование данных
Ссылка на Cloud Logging и экспорт журналов веб-запросов
Нажмите «Ссылка» на карточке интеграции Cloud Logging в консоли Firebase .
Чтобы связать или отключить Cloud Logging , вам потребуются разрешения, связанные с любой из следующих ролей: владелец или редактор проекта или администратор Firebase Develop .
Следуйте инструкциям на экране, чтобы выбрать, какой из ваших Hosting сайтов должен экспортировать журналы в Cloud Logging .
Если у вас уже есть один или несколько активных сайтов Hosting , рабочий процесс связывания отображает предполагаемый уровень использования данных для журналов с каждого из ваших сайтов Hosting . Это значение рассчитано за последние 30 дней.
После подключения к Cloud Logging журналы любых новых запросов к вашим Hosting сайтам обычно появляются в течение 30 минут после отправки запроса.
Вы также можете отсоединить Firebase Hosting от Cloud Logging , что остановит экспорт журналов веб-запросов в Cloud Logging .
Отслеживайте использование данных для журналов
После привязки к Cloud Logging вы сможете просмотреть уровень использования данных для журналов с ваших сайтов Hosting :
В карточке интеграции Cloud Logging в консоли Firebase
В интерфейсе Logs Viewer в консоли Google Cloud (метрика
log_bytes
)
Cloud Logging бесплатна при использовании до 50 ГБ данных в месяц (на проект). Это использование может осуществляться из любого продукта Google или Firebase, использующего Cloud Logging . Вы можете обновить свой проект до тарифного плана Blaze, чтобы разблокировать дополнительное платное использование. Узнайте больше о ценах на Cloud Logging .
Вы можете отслеживать и управлять Cloud Logging и выставлением счетов:
Оцените свои счета Cloud Logging с помощью калькулятора цен Google Cloud .
Регулирование журналов путем создания исключений .
Настройте оповещения , чтобы контролировать расходы.
Обратите внимание, что запись журнала для конкретного запроса может задерживаться или, в редких случаях, удаляться. Хотя журналы можно использовать для понимания запросов, они могут не отражать истинное использование, которое отображается в использовании вашего проекта и выставлении счетов.
Лучше понять ваш сайт
Интерфейс 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, и выполните запросы к ним новыми способами.