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 vos journaux de requêtes Web pour chacun de vos sites Hosting. Ces journaux sont depuis le CDN fourni automatiquement par Firebase. Ainsi, chaque requête adressée et les données de requête associées sont consignées.

Voici quelques exemples d'actions que vous pouvez effectuer avec les journaux Cloud Logging. Consultez chaque section de cette page pour en savoir plus.

Si votre projet comporte plusieurs sites Hosting, vous pouvez sélectionner celui vos sites Hosting exporteront des journaux. Vous pouvez ensuite filtrer et afficher vos données de journaux par site Hosting, voire par domaine. En sélectionnant des sites Hosting 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 fiche d'intégration Cloud Logging dans la console Firebase.

    Pour associer ou dissocier Cloud Logging, vous devez disposer des autorisations associées l'un des rôles suivants: Propriétaire ou Éditeur du projet ou Administrateur de développement Firebase.

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

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

Une fois l'association à Cloud Logging effectuée, les nouvelles requêtes envoyées à votre Les sites Hosting s'affichent généralement dans les 30 minutes suivant la demande

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

Surveiller votre consommation de données pour les journaux

Après avoir associé Cloud Logging, vous pouvez consulter le niveau de consommation des données pour les journaux provenant de vos sites Hosting:

Mieux comprendre votre site

La Interface Logs Viewer de la console Google Cloud propose des outils permettant d'afficher vos données et journaux spécifiques à l'aide de requêtes, de filtres et de panneaux de données intégrés. En savoir plus sur le filtrage vos journaux avec des requêtes dans la section suivante ci-dessous.

  • D'où vient le trafic de votre site ?
    Vous pouvez consulter 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 Panneau d'histogrammes pour afficher la distribution par période spécifique. Cela peut vous donner des informations les pics et les baisses normaux d'utilisation de votre application, ainsi que les pics de trafic inattendus.

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

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

  • Votre site exploite-t-il la mise en cache du contenu ?
    Chaque journal contient un champ cacheHit qui vous indique si la ressource de votre site a été rapidement à partir du cache CDN de Hosting ou s'il a dû rendre l'intégralité au backend Hosting. Cela peut vous aider à améliorer les performances de votre site Web en exploitant pleinement le CDN mondial de Firebase. Par exemple, vous pouvez utiliser ces données pour affiner les habitudes de mise en cache de vos composants statiques et de votre contenu dynamique.

  • Quelle est la répartition du trafic vers vos différents domaines ?
    Si vous avez plusieurs domaines ou sites Hosting, vous pouvez filtrer vos journaux par domaine ou par site. Cela vous permet de voir comment votre trafic est distribué. En filtrant par domaine, vous pouvez identifier le domaine que nous visitons le plus souvent.

Filtrer vos journaux à l'aide de requêtes

Pour savoir comment filtrer vos journaux à l'aide de requêtes, consultez la page Exemples de requêtes à l'aide de 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 (Firebase Hosting Domaine du site)
  • Nom du journal (logName) : webrequests (Firebase Hosting)

Chaque entrée de journal possède une structure prédéfinie et des champs pouvant être interrogés (voir LogEntry). Pour Hosting, certains champs sont standards pour une requête HTTP, mais il existe d'autres valeurs de champ provenant du traitement exécuté par Hosting requête.

Champ Description
Firebase Hosting stocke les champs suivants dans le Objet httpRequest du journal entrée.
Ces champs sont définis dans la spécification HTTP.
cacheHit Indique si le CDN Hosting disposait ou non de la ressource de la réponse dans le cache
latency Durée de la requête, en secondes avec le suffixe s (pour exemple : 1.256s)
protocol Protocole utilisé pour la requête (par exemple, HTTP/1.1, HTTP/2 et websocket)
referer Adresse de la page Web précédente à partir de laquelle un lien vers la la page actuellement demandée a été suivie (le cas échéant).
remoteIp Adresse IP du client à l'origine de la requête
requestMethod La 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'objet jsonPayload de entrée de journal.
acceptEncoding (à partir de la requête HTTP) Encodage de contenu, généralement un algorithme de compression, accepté par le client (par exemple, gzip ou compress)
billable si votre projet a été facturé ou non 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 métriques basées sur les journaux, puis utiliser ces métriques dans Cloud Monitoring pour créer des graphiques et des alertes règles.

  • Tirez parti métriques système prédéfinies enregistrés automatiquement, comme le nombre d'événements de journalisation se sont produites 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 interroger ou suivre des valeurs particulières avec les entrées de journal correspondantes. Toi peuvent 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 de latence consignées dans les entrées de journal. Vous pouvez ensuite utiliser ces métriques 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 de données utilisés pour chaque site

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

    Cette métrique inclut le champ d'état HTTP, ce qui vous permet de tracer les réponses HTTP par état (à titre d'exemple).

Exporter des journaux vers d'autres outils Google Cloud

Vous pouvez également exporter les journaux de votre site vers d'autres outils Google Cloud, 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 règles.

  • Avec BigQuery, vous pouvez effectuer les opérations suivantes :

    • Utilisez Data Studio pour générer des tableaux de bord de vos données Hosting.
    • Exécutez des requêtes pour obtenir plus d'informations sur vos requêtes (taille moyenne de la réponse, éventuelles erreurs de cache, etc.).
    • Découvrez les URL que vos utilisateurs demandent réellement.
    • Combinez vos données Hosting avec d'autres données Firebase que vous avez exportées vers BigQuery et interrogez-les de nouvelles manières.