Ce document explique comment diagnostiquer et résoudre les problèmes liés au traçage distribué lorsque vous utilisez Cloud Trace et des règles de télémétrie avec Secure Web Proxy.
Les traces n'apparaissent pas dans Trace
Si les spans de trace générés par Secure Web Proxy n'apparaissent pas dans l'explorateur de traces, vérifiez les points suivants :
Vérifiez que l'API Cloud Trace est activée : assurez-vous que l'API Trace (
cloudtrace.googleapis.com) est activée dans le projetGoogle Cloud qui héberge votre passerelle Secure Web Proxy.<pre class="devsite-click-to-copy"> gcloud services enable cloudtrace.googleapis.com </pre>Vérifiez que la règle de télémétrie existe et qu'elle est active : utilisez la commande
gcloud beta network-services telemetry-policies describepour vérifier que votre règle de télémétrie existe dans la bonne région et qu'elle fait référence à la passerelle Secure Web Proxy appropriée :gcloud beta network-services telemetry-policies describe POLICY_NAME \ --location=REGIONRemplacez les éléments suivants :
POLICY_NAME: nom de votre stratégie de télémétrie, tel quemy-swp-tracing-policyREGION: région dans laquelle votre stratégie de télémétrie est déployée, par exempleus-central1
Vérifiez le taux d'échantillonnage : si la valeur
samplingRatede votre règle est faible (par exemple,0.01pour 1% ou0.001pour 0,1%), il est possible que les demandes de tests manuels individuelles ne soient pas échantillonnées. Pour confirmer que le traçage fonctionne, mettez temporairement à jour votre règle pour utiliser un échantillonnage à 100 % (samplingRate: 1.00), puis restaurez votre taux de production.Validez l'URI de la ressource de passerelle cible : vérifiez que le champ
telemetryTarget.resourcesde la règle de télémétrie spécifie l'URL exacte et complète de la ressource ou le nom abrégé de la passerelle Secure Web Proxy.//networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projet Google CloudREGION: région où votre passerelle Secure Web Proxy est déployée, par exempleus-central1GATEWAY_NAME: nom de votre instance de passerelle Secure Web Proxy
Toute incohérence dans l'ID du projet, la région ou le nom de la passerelle empêche le proxy de recevoir la configuration des règles.
Vérifiez les autorisations IAM (Identity and Access Management) :
- Assurez-vous d'avoir attribué à votre compte utilisateur ou à votre compte de service le rôle Utilisateur Cloud Trace (
roles/cloudtrace.user) pour afficher les spans dans la console Google Cloud . - Assurez-vous d'avoir attribué le rôle d'agent Cloud Trace (
roles/cloudtrace.agent) aux comptes de service suivants :service-PROJECT_NUMBER@compute-system.service-PROJECT_NUMBER@gcp-sa-networksecurity.- Comptes de service des machines virtuelles (VM) clientes, si les applications clientes génèrent ou propagent des spans
- Assurez-vous d'avoir attribué à votre compte utilisateur ou à votre compte de service le rôle Utilisateur Cloud Trace (
Spans enfants manquants ou graphiques de trace défectueux
Si les spans de proxy Secure Web Proxy apparaissent comme des traces racines indépendantes ou déconnectées au lieu de spans enfants de vos requêtes d'application, procédez comme suit :
Activer l'échantillonnage basé sur le parent : dans votre fichier YAML de stratégie de télémétrie, vérifiez que
parentBasedSampling.enabledest défini surtrue.tracingConfiguration: samplingRate: 0.01 parentBasedSampling: enabled: trueLorsque l'échantillonnage basé sur le parent est désactivé, Secure Web Proxy peut supprimer les traces échantillonnées en amont si elles ne correspondent pas à la valeur
samplingRatelocale.Vérifiez l'instrumentation OpenTelemetry : assurez-vous que votre application utilise un SDK OpenTelemetry dont la propagation du contexte de traçage distribué est activée. Pour en savoir plus, consultez la documentation sur le propagateur TraceContext OpenTelemetry.
Volume d'ingestion de traces anormalement élevé
Si vous constatez un volume ou des coûts d'ingestion de traces plus élevés que prévu dans Trace, procédez comme suit :
- Réduisez le taux d'échantillonnage de référence : dans les environnements de production à fort trafic, définissez
samplingRatesur une fraction plus petite, par exemple0.01(1%) ou0.001(0,1%). - Utilisez l'échantillonnage basé sur le parent : maintenez la référence de passerelle
samplingRateà un niveau bas et activezparentBasedSampling. Cette combinaison permet de s'assurer que le proxy n'échantillonne que les requêtes spécifiquement sélectionnées par les applications en amont. - Supprimez les règles de débogage temporaires : si vous aviez appliqué un échantillonnage à 100 % (
samplingRate: 1.00) lors du dépannage, supprimez la règle ou rétablissez votre configuration précédente une fois le processus de débogage terminé.