Вы можете связать свой проект Firebase с Cloud Logging , чтобы просматривать, искать и фильтровать журналы веб-запросов для каждого из ваших сайтов Hosting . Эти журналы поступают из CDN, который автоматически предоставляется Firebase, поэтому каждый запрос к вашему сайту и связанные с ним данные запроса регистрируются.
Вот некоторые действия, которые можно выполнить с журналами Cloud Logging . Для получения более подробной информации посетите соответствующий раздел этой страницы.
Лучше понимайте свой сайт — изучайте, где и когда вас посещают, статусы ответа вашего сайта, задержку запросов конечных пользователей и многое другое.
Фильтруйте журналы с помощью запросов — используйте автоматически собираемые данные для фильтрации и построения графиков данных, связанных с каждым запросом или вашим сайтом.
Используйте метрики на основе журналов — создавайте диаграммы облачного мониторинга и политики оповещений на основе предопределенных системных метрик или метрик, определяемых пользователем.
Экспортируйте журналы в другие инструменты Google Cloud — используйте данные журналов в других инструментах (например, BigQuery и Data Studio) для более мощного анализа и корреляции.
Если в вашем проекте несколько Hosting сайтов, вы можете выбрать, какие из них будут экспортировать журналы. Затем вы можете фильтровать и просматривать данные журналов по Hosting Hosting сайту и даже по домену. Выбирая конкретные Hosting сайты для экспорта журналов, вы также можете контролировать объем обрабатываемых данных для вашего проекта.
Cloud Logging предлагает бесплатный уровень использования в месяц (на проект). Использование может осуществляться с любых продуктов Google или Firebase, использующих Cloud Logging . Вы можете перейти на тарифный план Blaze с оплатой по мере использования , чтобы разблокировать дополнительные платные функции и возможности. Узнайте больше о ценах на Cloud Logging .
Вы можете отслеживать и управлять Cloud Logging и выставлением счетов:
Оцените свои расходы Cloud Logging с помощью калькулятора цен Google Cloud .
Ограничьте объем регистрируемых данных, создав фильтры исключения для приемников данных .
Настройте оповещения , чтобы контролировать расходы.
Журналы автоматически удаляются через 30 дней, при этом можно установить собственный срок хранения .
Обратите внимание, что запись в журнале для конкретного запроса может быть задержана или, в редких случаях, пропущена. Хотя журналы могут использоваться для анализа запросов, они могут не отражать реальное использование, отображаемое в вашей отчетности по использованию проекта и выставлению счетов.
Подключитесь к 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 предлагает бесплатный уровень использования в месяц (на проект). Использование может осуществляться с любых продуктов Google или Firebase, использующих Cloud Logging . Вы можете перейти на тарифный план Blaze с оплатой по мере использования , чтобы разблокировать дополнительные платные функции и возможности. Узнайте больше о ценах на Cloud Logging .
Вы можете отслеживать и управлять Cloud Logging и выставлением счетов:
Оцените свои расходы Cloud Logging с помощью калькулятора цен Google Cloud .
Ограничьте объем регистрируемых данных, создав фильтры исключения для приемников данных .
Настройте оповещения , чтобы контролировать расходы.
Журналы автоматически удаляются через 30 дней, при этом можно установить собственный срок хранения .
Обратите внимание, что запись в журнале для конкретного запроса может быть задержана или, в редких случаях, пропущена. Хотя журналы могут использоваться для анализа запросов, они могут не отражать реальное использование, отображаемое в вашей отчетности по использованию проекта и выставлению счетов.
Лучше разберитесь в своем сайте.
Интерфейс Logs Viewer в консоли Google Cloud предоставляет инструменты для просмотра конкретных журналов и данных с помощью запросов, встроенных фильтров и панелей данных. Подробнее о фильтрации журналов с помощью запросов читайте в следующем разделе.
Откуда именно поступает трафик на ваш сайт, если рассматривать его детально?
Вы можете просмотреть информацию о каждом запросе, включая IP-адрес источника, реферер, город и статус.Когда пользователи посещают ваш сайт?
Вы можете использовать панель «Гистограмма» , чтобы увидеть распределение по определенным временным диапазонам. Это может дать вам представление о нормальных пиках и спадах использования вашего приложения, а также выявить любые неожиданные всплески трафика.Каково распределение статусов запросов от конечных пользователей?
Вы можете просмотреть статус каждого запроса и даже диагностировать запросы, в которых возникают ошибки. Вы можете фильтровать журналы по категориямCritical,ErrorилиWarning.Сколько времени требуется вашему сайту для ответа на запрос?
Вы можете просмотреть задержку вашего сайта для каждого запроса, используя значениеlatencyзафиксированное в каждом журнале.Использует ли ваш сайт кэширование контента?
Каждый лог содержит полеcacheHit, которое показывает, был ли ресурс вашего сайта быстро загружен из CDN-кэша Hosting или ему пришлось совершить полный путь до бэкэнда Hosting . Это может помочь вам улучшить производительность вашего веб-сайта, максимально используя глобальную CDN Firebase. Например, вы можете использовать эти данные для тонкой настройки кэширования ваших статических ресурсов и динамического контента .Каково распределение трафика между вашими различными доменами?
Если у вас несколько доменов или сайтов Hosting , вы можете фильтровать журналы по домену или по сайту. Это позволит вам увидеть, как распределяется ваш трафик. При фильтрации по домену вы сможете отслеживать, какой домен посещается чаще всего.
Фильтруйте журналы с помощью запросов.
Чтобы узнать, как фильтровать журналы с помощью запросов, посетите разделы «Примеры запросов с использованием Logs Viewer» и «Создание запросов к журналам» . В таблице ниже описаны поля, доступные для этих запросов.
Для Hosting вот несколько начальных фильтров для запроса:
- Ресурс (
resource.type) —firebase_domain(домен Firebase Hosting ) - Имя журнала (
logName) —webrequests( Firebase Hosting )
Каждая запись в журнале имеет предопределенную структуру и поля, доступные для запросов (см. LogEntry ). Для Hosting некоторые поля являются стандартными для HTTP-запроса, но есть и другие значения полей, которые поступают из обработки, выполняемой Hosting для каждого запроса.
| Поле | Описание |
|---|---|
Firebase Hosting сохраняет следующие поля в объекте httpRequest записи журнала.Эти поля определены в спецификации HTTP. | |
cacheHit | Было ли у CDN Hosting в кэше наличие ресурса ответа? |
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 вы можете выполнить любое из следующих действий:
- Используйте Looker Studio для создания панелей мониторинга данных о вашем Hosting .
- Выполняйте запросы, чтобы получить более подробную информацию о ваших запросах (средний размер ответа, количество попаданий и промахов в кэше и т. д.).
- Узнайте, какие URL-адреса действительно запрашивают ваши пользователи.
- Объедините данные Hosting с другими данными Firebase, экспортированными в BigQuery, и выполняйте запросы к ним новыми способами.