Cette page explique comment configurer la journalisation des requêtes pour Media CDN.
Activer les journaux
Logging est désactivé par défaut pour réduire la quantité de données stockée. Les journaux sont acheminés, filtrés et stockés dans Cloud Logging.
Activez la journalisation pour un service Media CDN spécifique:
gcloud edge-cache services update YOUR_SERVICE \ --enable-logging \ --logging-sample-rate=1.0
Désactivez la journalisation:
gcloud edge-cache services update YOUR_SERVICE \ --no-enable-logging
Pour obtenir l'état actuel de journalisation d'un service:
gcloud edge-cache services describe YOUR_SERVICE
Le résultat ressemble à ce qui suit :
... logConfig: enable: true sampleRate: 1.0 ...
Définir le taux d'échantillonnage des journaux
Pour de grands volumes de requêtes, il peut être préférable d'échantillonner les journaux plutôt que de journaliser chaque requête et de vous appuyer sur des métriques de surveillance et d'enquête proactives.
Pour n'ingérer et stocker les journaux que pour 10% de vos requêtes, définissez logConfig.sampleRate
sur 0.1
:
gcloud edge-cache services update YOUR_SERVICE \ --enable-logging \ --logging-sample-rate=0.1
Logging doit être activé pour modifier le taux d'échantillonnage.
Sauf indication contraire, le taux d'échantillonnage par défaut est de 0 (0%), ce qui signifie que chaque requête pour le service configuré est journalisée.
Journaux de requête
Pour interroger des journaux, vous pouvez utiliser l'explorateur de journaux dans la console Google Cloud ou Google Cloud CLI.
Pour afficher les journaux dans la console Google Cloud, filtrez le type de ressource sur Media CDN et (éventuellement) sur un nom de projet ou de service.
La requête de journalisation suivante affiche les journaux de tous vos services Media CDN:
resource.type="edgecache.googleapis.com/EdgeCacheRouteRule"
Pour filtrer les journaux associés à une ressource EdgeCacheService
et à un projet spécifiques, étendez cette requête:
resource.type="edgecache.googleapis.com/EdgeCacheRouteRule" resource.labels.resource_container="projects/12345678" resource.labels.service_name="MY_PROJECT"
Pour rechercher des noms partiels ou utiliser des expressions régulières, consultez la section Comparaisons des langages de requêtes de journalisation.
Exemple : Identifier les défauts de cache (miss)
Une requête pour un objet peut résulter en un défaut de cache (miss), mais peut entraîner un remplissage de cache pour les raisons suivantes:
- Valeur TTL (Time To Live) trop courte
- Clé de cache trop spécifique.
- Trop peu de requêtes pour justifier la mise en cache.
Pour identifier les défauts de cache, vous pouvez filtrer les journaux dans l'explorateur de journaux.
La requête de journalisation suivante affiche les requêtes pouvant être mises en cache (recherchées), mais qui nécessitent un remplissage à partir de l'origine :
resource.type="edgecache.googleapis.com/EdgeCacheRouteRule" resource.labels.resource_container="projects/12345678" resource.labels.service_name="MY_PROJECT" jsonPayload.cacheStatus="miss"
Si vous devez filtrer par URL spécifique, filtrez sur le champ httpRequest.requestUrl
:
httpRequest.requestUrl = "URL"
Pour filtrer sur une partie de l'URL, telle que le composant de chemin d'accès, utilisez l'opérateur has
:
# `:` is the `has` comparison operator httpRequest.requestUrl: "/videos/1381381_1080.mp4" # You can use `OR` or `AND` to filter on multiple values httpRequest.requestUrl: ("https://media-test.example.com/" OR "https://canary.example.net")
Pour en savoir plus sur la syntaxe complète de Logging pour la mise en correspondance et le filtrage, consultez Écrire des requêtes avancées à l'aide du langage de requête Logging.
Filtrer les journaux stockés
Pour filtrer les journaux avant de les stocker (par exemple, pour ne capturer que des champs pertinents afin de réduire le volume total de journaux à stocker et à interroger), vous pouvez configurer des filtres d'exclusion, qui vous permettent de définir une requête (filtre) qui inclut ou exclut des champs avant le stockage.
Vous pouvez également configurer plusieurs filtres, par exemple pour capturer tous les défauts de cache ou toutes les requêtes portant sur un nom d'hôte spécifique, et ne prélever qu'un échantillon de tous les journaux.
Acheminer les journaux
Media CDN s'intègre directement à Cloud Logging, ce qui vous aide à agréger et à acheminer vos journaux comme suit:
vers des destinations de stockage telles que Cloud Storage et BigQuery ;
Aux sujets Pub/Sub auxquels les destinations tierces peuvent s'abonner pour accéder aux journaux
Pour en savoir plus sur le routage des journaux depuis Logging, consultez la page Présentation du routage et du stockage.
Étape suivante
- Pour en savoir plus sur la configuration de métriques basées sur les journaux afin de définir vos propres valeurs de métriques basées sur les requêtes consignées, consultez la page Présentation des métriques basées sur les journaux.
- Pour en savoir plus sur la tarification de Logging, consultez la page Tarifs de Google Cloud Observability.
- Pour en savoir plus sur le fonctionnement des journaux d'audit, et sur l'activation et la configuration des journaux d'audit pour les activités d'administration, consultez la documentation Cloud Audit Logs.