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