Afficher, rechercher et filtrer les journaux de requêtes Web de votre site avec Cloud Logging

Vous pouvez associer votre projet Firebase à Cloud Logging pour afficher, rechercher et filtrer les journaux de requêtes Web de chacun de vos sites Hosting. Ces journaux proviennent du CDN fourni automatiquement par Firebase. Par conséquent, chaque requête adressée à votre site et les données de requête associées sont consignées.

Voici quelques exemples d'utilisation des journaux Cloud Logging. Consultez chaque section de cette page pour en savoir plus.

Si votre projet comporte plusieurs sites Hosting, vous pouvez sélectionner ceux de vos sites Hosting qui exporteront les journaux. Vous pouvez ensuite filtrer et afficher les données de vos journaux par site Hosting et même par domaine. En sélectionnant des Hosting sites spécifiques pour exporter les journaux, vous pouvez également contrôler la quantité de données traitées pour votre projet.

  1. Cliquez sur Associer dans la Cloud Logging fiche d'intégration de la console Firebase.

    Pour associer ou dissocier Cloud Logging, vous devez disposer des autorisations incluses dans l'un des rôles suivants : propriétaire ou éditeur du projet ou administrateur du développement Firebase.

  2. Suivez les instructions à l'écran pour sélectionner les sites Hosting qui doivent exporter les journaux vers Cloud Logging.

    Si vous disposez déjà d'un ou de plusieurs sites Hosting actifs, le workflow d'association affiche une estimation du niveau de consommation des données pour les journaux de chacun de vos sites Hosting. Cette valeur est estimée sur les 30 derniers jours.

Une fois l'association à Cloud Logging effectuée, les journaux de toutes les nouvelles requêtes adressées à vos Hosting sites s'affichent généralement dans les 30 minutes suivant la requête.

Vous pouvez également dissocier Firebase Hosting de Cloud Logging, ce qui arrête l'exportation des journaux de requêtes Web vers Cloud Logging.

Surveiller votre consommation des données pour les journaux

Une fois l'association à Cloud Logging effectuée, vous pouvez afficher le niveau de consommation des données pour les journaux de vos Hosting sites :

Mieux comprendre votre site

L' Logs Viewerinterface de la console propose des outils permettant d'afficher vos journaux et données spécifiques à l'aide de requêtes, de filtres intégrés et de panneaux de données.Google Cloud Pour en savoir plus sur le filtrage de vos journaux avec des requêtes, consultez la section suivante.

  • D'où provient le trafic de votre site à un niveau précis ?
    Vous pouvez afficher des informations sur chaque requête, y compris l'adresse IP source, le référent, la ville et l'état.

  • Quand les utilisateurs visitent-ils votre site ?
    Vous pouvez utiliser le panneau Histogramme pour afficher la répartition par plages horaires spécifiques. Cela peut vous donner un aperçu des pics et des creux normaux d'utilisation de votre application, ainsi que révéler les pics de trafic inattendus.

  • Quelle est la répartition des états pour les requêtes des utilisateurs finaux ?
    Vous pouvez afficher l'état de chaque requête et même diagnostiquer celles qui reçoivent des erreurs. Vous pouvez filtrer vos journaux par Critical, Error ou Warning.

  • Combien de temps votre site met-il à répondre à une requête ?
    Vous pouvez afficher la latence de votre site pour chaque requête à l'aide de la valeur latency capturée dans chaque journal.

  • Votre site tire-t-il parti de la mise en cache du contenu ?
    Chaque journal contient un champ cacheHit qui indique si la ressource de votre site a été diffusée rapidement à partir du cache CDN de Hosting ou si elle a dû effectuer le trajet complet vers le backend de Hosting. Cela peut vous aider à améliorer les performances de votre site Web en tirant le meilleur parti du CDN mondial de Firebase. Par exemple, vous pouvez utiliser les données pour affiner les habitudes de mise en cache de vos éléments statiques et votre contenu dynamique.

  • Quelle est la répartition du trafic vers vos différents domaines ?
    Si vous disposez de plusieurs domaines ou Hosting sites, vous pouvez filtrer vos journaux par domaine ou par site. Cela vous permet de voir comment votre trafic est réparti. Lorsque vous filtrez par domaine, vous pouvez suivre le domaine le plus visité.

Filtrer vos journaux avec des requêtes

Pour savoir comment filtrer vos journaux avec des requêtes, consultez Exemples de requêtes avec la visionneuse de journaux et Créer des requêtes de journal. Le tableau ci-dessous décrit les champs disponibles pour ces requêtes.

Pour Hosting, voici quelques filtres initiaux pour une requête :

  • Ressource (resource.type) : firebase_domain (domaine du site Firebase Hosting)
  • Nom du journal (logName) : webrequests (Firebase Hosting)

Chaque entrée de journal possède une structure prédéfinie et des champs interrogeables (voir LogEntry). Pour Hosting, certains champs sont standards pour une requête HTTP, mais il existe d'autres valeurs de champ qui proviennent du traitement que Hosting exécute sur chaque requête.

Champ Description
Firebase Hosting stocke les champs suivants dans l'objet httpRequest de l'entrée de journal.
Ces champs sont définis dans la spécification HTTP.
cacheHit Indique si le Hosting CDN disposait ou non de la ressource de la réponse dans le cache.
latency Durée de la requête, en secondes avec s suffixe (par exemple, 1.256s)
protocol Protocole utilisé pour la requête (par exemple, HTTP/1.1, HTTP/2, websocket)
referer Adresse de la page Web précédente à partir de laquelle un lien vers la page actuellement demandée a été suivi (le cas échéant)
remoteIp Adresse IP du client d'origine pour la requête
requestMethod Méthode de requête (GET, POST, PUT, etc.)
requestSize Taille de la requête en octets
requestUrl URL complète de la requête (par exemple,
https://foo.web.app/bar ou https://custom.domain.com?query=param)
responseSize Taille de la réponse HTTP en octets
serverIp Non renseigné
status État de la réponse HTTP (par exemple, 200 ou 404)
userAgent En-tête User-Agent de la requête
Firebase Hosting stocke des champs supplémentaires dans l' jsonPayload objet de l' entrée de journal.
acceptEncoding (à partir de la requête HTTP) Encodage de contenu, généralement un algorithme de compression, que le client prend en charge (par exemple, gzip ou compress)
billable Indique si votre projet a été facturé pour la requête.
customDomain Indique si la requête a été effectuée sur un domaine personnalisé.
hostname Nom d'hôte sur lequel la requête a été effectuée
remoteIpCountry Pays d'origine de la requête
remoteIpCity Ville d'origine de la requête

Utiliser des métriques basées sur les journaux

Vous pouvez afficher et créer des métriques basées sur les journaux, puis les utiliser dans Cloud Monitoring pour créer des graphiques et des règles d'alerte.

  • Exploitez les métriques système prédéfinies qui sont automatiquement enregistrées, telles que le nombre d'événements de journalisation survenus au cours d'une période donnée.

  • Créez des métriques définies par l'utilisateur pour votre projet. Vous pouvez compter le nombre d'entrées de journal correspondant à une requête donnée ou suivre des valeurs particulières avec les entrées de journal correspondantes. Vous pouvez filtrer à l'aide d'expressions régulières.

  • Utilisez Cloud Monitoring pour enregistrer le nombre d'entrées de journal contenant des messages particuliers ou extraire des informations de latence signalées dans les entrées de journal. Vous pouvez ensuite utiliser ces métriques dans des graphiques et des règles d'alerte.

Firebase Hosting génère également les métriques de journalisation spécifiques à Hosting suivantes. Ces métriques ne sont pas spécifiques à une entrée de journal, mais plutôt au site Hosting spécifique dans son ensemble.

  • log_bytes : nombre total d'octets d'utilisation des données pour chaque site

  • response_count : nombre total de réponses écrites pour le site

    Cette métrique inclut le champ d'état HTTP. Vous pouvez donc représenter graphiquement les réponses HTTP par état (par exemple).

Exporter des journaux vers d'autres outils Google Cloud

Vous pouvez également exporter les journaux de votre site vers d'autres Google Cloud outils, tels que Cloud Monitoring ou BigQuery, par exemple :

  • Avec Cloud Monitoring, vous pouvez créer des métriques basées sur les journaux que vous pouvez utiliser dans des graphiques et des règles d'alerte.

  • Avec BigQuery, vous pouvez effectuer l'une des opérations suivantes :

    • Utiliser Data Studio pour générer des tableaux de bord de vos données Hosting.
    • Exécuter des requêtes pour obtenir plus d'informations sur vos requêtes (taille moyenne des réponses, succès ou échecs de la mise en cache, etc.).
    • Découvrir les URL que vos utilisateurs demandent réellement.
    • Combiner vos données Hosting avec d'autres données Firebase que vous avez exportées vers BigQuery et les interroger de nouvelles manières.