Vous pouvez lier votre projet Firebase à Cloud Logging pour afficher, rechercher et filtrer vos journaux de requêtes Web pour chacun de vos sites d'hébergement. Ces journaux proviennent du CDN qui est automatiquement fourni par Firebase, de sorte que chaque demande adressée à votre site et les données de demande associées sont enregistrées.
Voici certaines choses que vous faites avec les journaux Cloud Logging. Visitez chaque section de cette page pour en savoir plus.
Mieux comprendre votre site — Apprenez d'où et quand vous avez des visites sur votre site, les statuts de réponse de votre site, la latence des demandes des utilisateurs finaux, et plus encore.
Filtrez vos journaux avec des requêtes — Tirez parti des données collectées automatiquement pour filtrer et tracer les données associées à chaque requête ou à votre site.
Utilisez des métriques basées sur les journaux — Créez des graphiques Cloud Monitoring et des règles d'alerte à partir de métriques système prédéfinies ou de métriques définies par l'utilisateur.
Exportez les journaux vers d'autres outils Google Cloud : utilisez les données des journaux dans d'autres outils (tels que BigQuery et Data Studio) pour une analyse et une corrélation plus puissantes.
Si vous avez plusieurs sites d'hébergement dans votre projet, vous pouvez sélectionner lequel de vos sites d'hébergement exportera les journaux. Vous pouvez ensuite filtrer et visualiser vos données de logs par site d'hébergement et même par domaine. En sélectionnant des sites d'hébergement spécifiques pour exporter les journaux, vous pouvez également contrôler la quantité de données traitées pour votre projet.
Cloud Logging est gratuit jusqu'à 50 Go d'utilisation de données par mois (par projet). Cette utilisation peut provenir de n'importe quel produit Google ou Firebase utilisant Cloud Logging. Vous pouvez mettre à niveau votre projet vers le plan tarifaire Blaze pour débloquer une utilisation payante supplémentaire. En savoir plus sur les tarifs de Cloud Logging .
Vous pouvez surveiller et gérer Cloud Logging et la facturation :
Estimez vos factures Cloud Logging à l'aide du calculateur de prix Google Cloud .
Limitez les journaux en créant des exclusions .
Configurez des alertes pour aider à contrôler les coûts.
Notez que l'entrée de journal d'une demande particulière peut être retardée ou, dans de rares cas, supprimée. Bien que les journaux puissent être utilisés pour comprendre les demandes, ils peuvent ne pas refléter l'utilisation réelle qui apparaît dans l'utilisation et la facturation de votre projet.
Connectez-vous à Cloud Logging et surveillez votre utilisation des données
Associez-vous à Cloud Logging et exportez les journaux de requêtes Web
Cliquez sur Lien dans la fiche d'intégration Cloud Logging de la console Firebase.
Pour associer ou dissocier Cloud Logging, vous avez besoin des autorisations regroupées dans l'un des rôles suivants : propriétaire ou éditeur du projet ou administrateur de développement Firebase .
Suivez les instructions à l'écran pour sélectionner lequel de vos sites d'hébergement doit exporter les journaux vers Cloud Logging.
Si vous avez déjà un ou plusieurs sites d'hébergement actifs, le workflow de liaison affiche une estimation du niveau d'utilisation des données pour les journaux de chacun de vos sites d'hébergement. Cette valeur est estimée sur les 30 derniers jours.
Après la liaison à Cloud Logging, les journaux de toute nouvelle demande adressée à vos sites d'hébergement s'afficheront généralement dans les 30 minutes suivant la demande.
Vous pouvez également dissocier Firebase Hosting de Cloud Logging, ce qui arrête les exportations de journaux de requêtes Web vers Cloud Logging.
Surveillez votre utilisation des données pour les journaux
Après vous être connecté à Cloud Logging, vous pouvez afficher le niveau d'utilisation des données pour les journaux de vos sites d'hébergement :
Dans la carte d'intégration Cloud Logging de la console Firebase
Dans l' interface de la visionneuse de journaux dans Google Cloud Console (la métrique
log_bytes
)
Cloud Logging est gratuit jusqu'à 50 Go d'utilisation de données par mois (par projet). Cette utilisation peut provenir de n'importe quel produit Google ou Firebase utilisant Cloud Logging. Vous pouvez mettre à niveau votre projet vers le plan tarifaire Blaze pour débloquer une utilisation payante supplémentaire. En savoir plus sur les tarifs de Cloud Logging .
Vous pouvez surveiller et gérer Cloud Logging et la facturation :
Estimez vos factures Cloud Logging à l'aide du calculateur de prix Google Cloud .
Limitez les journaux en créant des exclusions .
Configurez des alertes pour aider à contrôler les coûts.
Notez que l'entrée de journal d'une demande particulière peut être retardée ou, dans de rares cas, supprimée. Bien que les journaux puissent être utilisés pour comprendre les demandes, ils peuvent ne pas refléter l'utilisation réelle qui apparaît dans l'utilisation et la facturation de votre projet.
Mieux comprendre votre site
L' interface de la visionneuse de journaux dans Google Cloud Console propose des outils pour afficher vos journaux et données spécifiques à l'aide de requêtes, de filtres intégrés et de panneaux de données. En savoir plus sur le filtrage de vos journaux avec des requêtes dans la section suivante ci-dessous.
D'où provient le trafic de votre site à un niveau granulaire ?
Vous pouvez afficher des informations sur chaque demande, y compris l'adresse IP source, le référent, la ville et le statut.Quand les utilisateurs visitent-ils votre site ?
Vous pouvez utiliser le panneau Histogramme pour voir la distribution par plages de temps spécifiques. Cela peut vous donner un aperçu des pics et des creux normaux de l'utilisation de votre application, ainsi que révéler tout pic de trafic inattendu.Quelle est la distribution de l'état des demandes des utilisateurs finaux ?
Vous pouvez afficher l'état de chaque demande et même diagnostiquer les demandes qui reçoivent des erreurs. Vous pouvez filtrer vos journaux parCritical
,Error
ouWarning
.Combien de temps votre site met-il pour répondre à une requête ?
Vous pouvez afficher la latence de votre site pour chaque demande à l'aide de la valeurlatency
capturée dans chaque journal.Votre site tire-t-il parti de la mise en cache de contenu ?
Chaque journal contient un champcacheHit
pour vous dire si la ressource de votre site a été servie rapidement à partir du cache CDN de l'hébergement, ou si elle a dû faire le voyage complet vers le backend de l'hébergement. 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 ressources 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 d'hébergement, vous pouvez filtrer vos journaux par domaine ou par site. Cela vous permet de voir comment votre trafic est distribué. Lorsque vous filtrez par domaine, vous pouvez savoir quel domaine est le plus visité.
Filtrez vos journaux avec des requêtes
Pour savoir comment filtrer vos journaux avec des requêtes, consultez 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 l'hébergement, voici quelques filtres initiaux pour une requête :
- Ressource (
resource.type
) -firebase_domain
(domaine du site d'hébergement Firebase) - Nom du journal (
logName
) —webrequests
(Firebase Hosting)
Chaque entrée de journal a une structure prédéfinie et des champs interrogeables (voir LogEntry ). Pour l'hébergement, certains champs sont standard pour une requête HTTP, mais il existe d'autres valeurs de champ qui proviennent du traitement que l'hébergement 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 | Si oui ou non le CDN d'hébergement avait la ressource de la réponse en cache |
latency | La durée de la requête, en secondes avec le suffixe s (par exemple, 1.256s ) |
protocol | Le protocole utilisé pour la requête (par exemple, HTTP/1.1 , HTTP/2 , websocket ) |
referer | L'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 | L'adresse IP du client d'origine pour la demande |
requestMethod | La méthode de requête ( GET , POST , PUT , etc.) |
requestSize | La taille de la requête en octets |
requestUrl | L'URL complète de la demande (par exemple,https://foo.web.app/bar ou https://custom.domain.com?query=param ) |
responseSize | La taille de la réponse HTTP en octets |
serverIp | pas peuplée |
status | Le statut de la réponse HTTP (par exemple, 200 ou 404 ) |
userAgent | L'en-tête user-Agent de la requête |
Firebase Hosting stocke des champs supplémentaires dans l'objet jsonPayload de l'entrée de journal. | |
acceptEncoding | (à partir de la requête HTTP) Quel encodage de contenu, généralement un algorithme de compression, le client prend en charge (par exemple, gzip ou compress ) |
billable | Si votre projet a été facturé ou non pour la demande |
customDomain | Si la demande a été effectuée ou non sur un domaine personnalisé |
hostname | Le nom d'hôte sur lequel la demande a été effectuée |
remoteIpCountry | Le pays d'origine de la demande |
remoteIpCity | La ville d'origine de la demande |
Utiliser des métriques basées sur les journaux
Vous pouvez afficher et créer des métriques basées sur les journaux , puis utiliser ces métriques dans Cloud Monitoring pour créer des graphiques et des règles d'alerte.
Tirez parti des métriques système prédéfinies qui sont automatiquement enregistrées, telles que le nombre d'événements de journalisation qui se sont produits au cours d'une période spécifique.
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 les 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 à l'hébergement suivantes. Ces métriques ne sont pas spécifiques à une entrée de journal mais plutôt au site d'hébergement spécifique dans son ensemble.
log_bytes
: nombre total d'octets d'utilisation des données pour chaque siteresponse_count
: nombre total de réponses écrites pour le siteCette métrique inclut le champ de statut HTTP, vous pouvez donc tracer les réponses HTTP par statut (à 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 :
À l'aide de 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.
À l'aide de BigQuery , vous pouvez effectuer l'une des opérations suivantes :
- Utilisez Data Studio pour générer des tableaux de bord de vos données d'hébergement.
- Exécutez des requêtes pour obtenir plus d'informations sur vos requêtes (taille moyenne des réponses, succès du cache par rapport aux échecs, etc.).
- Découvrez quelles URL vos utilisateurs demandent réellement.
- Combinez vos données d'hébergement avec d'autres données Firebase que vous avez exportées vers BigQuery et interrogez-les de nouvelles façons.