Configurer la journalisation des requêtes

Cette page vous 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ées et stockées 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
    
  • Obtenez l'état actuel de la 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 les volumes importants de requêtes, plutôt que de capturer un journal pour chaque requête, vous peuvent préférer échantillonner les journaux et s'appuyer sur des métriques pour une surveillance proactive et l'investigation.

Pour ingérer et stocker les journaux uniquement pour 10% de vos requêtes, définissez logConfig.sampleRate à 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 est défini par défaut sur 0 (0%), ce qui journalise chaque requête pour le service configuré.

Journaux de requête

Pour interroger les journaux, vous pouvez utiliser la Explorateur de journaux dans la section la console Google Cloud ou la 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 permet d'afficher les journaux de tous vos services Media CDN:

resource.type="edgecache.googleapis.com/EdgeCacheRouteRule"

Filtrer les journaux associés à une ressource EdgeCacheService spécifique é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 correspondances sur des noms partiels ou utiliser des expressions régulières, consultez la section Requête Logging et des comparaisons de langues.

Exemple : Identifier les défauts de cache (miss)

Une requête pour un objet peut être un défaut de cache (miss), mais peut entraîner un remplissage du cache pour 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 les données en fonction d'une URL spécifique, Champ httpRequest.requestUrl:

httpRequest.requestUrl = "URL"

Pour filtrer sur une partie de l'URL, comme le composant de chemin d'accès, utilisez la méthode has opérateur:

# `:` 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 la section Écrire des requêtes avancées à l'aide des requêtes Logging langue.

Filtrer les journaux stockés

Pour filtrer les journaux avant de les stocker (par exemple, en ne capturant que les champs pertinents) pour réduire le volume total de journaux que vous devez 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 leur 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, vous aide à agréger et à acheminer vos journaux de différentes manières:

  • Vers des destinations de stockage, telles que Cloud Storage et BigQuery

  • Vers des sujets Pub/Sub, vers lesquelles des destinations tierces peuvent s'abonner pour accéder aux journaux

Pour en savoir plus sur le routage des journaux à partir de Logging, consultez Présentation du routage et du stockage

Étape suivante