Вы можете связать свой проект 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 .
Следуйте инструкциям на экране, чтобы выбрать, какие из ваших 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, и выполняйте запросы новыми способами.