Configurer Stackdriver Trace pour PHP

Vous pouvez activer Stackdriver Trace pour les applications PHP grâce à la bibliothèque Stackdriver Trace pour PHP et à la bibliothèque OpenCensus pour PHP.

Installer la bibliothèque

Installez le package combiné d'OpenCensus et de l'exportateur Stackdriver à l'aide de la commande suivante (cela installera également les packages combinés d'OpenCensus et de Stackdriver Trace) :

composer require opencensus/opencensus-exporter-stackdriver

Nous vous recommandons également d'installer l'extension OpenCensus à l'aide de la commande suivante :

pecl install opencensus-alpha

Il vous faudra également ajouter la ligne suivante au fichier php.ini :

extension=opencensus.so

Sous Windows, téléchargez le fichier DLL depuis la page de téléchargement pecl dans le répertoire d'extension de votre installation PHP, puis ajoutez la ligne suivante au fichier php.ini :

extension=opencensus.dll

L'extension opencensus est requise si vous souhaitez utiliser les intégrations de framework décrites ci-dessous.

Activer la bibliothèque

Pour activer la bibliothèque Stackdriver Trace pour PHP, procédez comme suit :

  1. Importez les classes

    use OpenCensus\Trace\Exporter\StackdriverExporter;
    use OpenCensus\Trace\Tracer;
    

  2. Initialisez l'exportateur

    $exporter = new StackdriverExporter([
        'clientConfig' => [
            'projectId' => $projectId
        ]
    ]);
  3. Démarrez le traceur

    Tracer::start($exporter);

Placez le code en haut du script pour obtenir un résultat optimal.

Configurer le client

Vous pouvez personnaliser le comportement de la bibliothèque Stackdriver Trace pour PHP. Consultez la configuration de l'exportateur et la configuration du traceur pour obtenir la liste des options de configuration possibles.

Ajouter un délai de trace personnalisé

La bibliothèque Stackdriver Trace pour PHP crée automatiquement un enregistrement de trace pour chaque requête HTTP. Vous pouvez également ajouter des délais de trace personnalisés à la requête :

Tracer::inSpan(
    ['name' => 'slow_function'],
    function () {
        sleep(1);
    }
);

Intégrations pour les frameworks

La bibliothèque OpenCensus offre des intégrations utiles pour les frameworks et les fonctions Web. Consultez les intégrations disponibles et des exemples pour certains frameworks{/} pour en savoir plus.

Exécuter sur Google Cloud Platform

Tant que le champ d'application de l'accès à l'API Stackdriver Trace est activé sur les instances qui s'exécutent sur Google Cloud Platform, vous n'avez pas besoin de fournir les identifiants d'authentification pour ces instances. Cependant, nous vous recommandons de définir le champ d'application d'accès le plus large possible pour votre instance, puis d'utiliser Cloud Identity and Access Management pour limiter l'accès.

Environnement flexible App Engine

Dans l'environnement flexible App Engine, le champ d'application de l'accès à l'API Stackdriver Trace est activé par défaut. La bibliothèque cliente OpenCensus peut être utilisée sans fournir d'identifiants ni d'ID de projet.

L'environnement flexible App Engine permet d'optimiser les performances de la création de rapports sur les données de trace dans un processus en arrière-plan. Utilisez l'option async lors de l'initialisation de l'exportateur Stackdriver, et utilisez enable_stackdriver_integration dans la section runtime_config du fichier app.yaml, comme suit :

enable_stackdriver_integration: true

Consultez aussi la configuration de l'exportateur.

Environnement standard App Engine

Dans l'environnement standard App Engine, le champ d'application de l'accès à l'API Stackdriver Trace est activé par défaut. La bibliothèque cliente OpenCensus peut être utilisée sans fournir d'identifiants ni d'ID de projet.

GKE

Pour utiliser Trace avec GKE, ajoutez le champ d'application d'accès OAuth trace.append lors de la création du cluster.

Pour créer un cluster à l'aide de gcloud, procédez comme suit :

  1. (Facultatif) Installez la dernière mise à jour de gcloud :
    gcloud components update
  2. Définissez votre ID de projet par défaut :
    gcloud config set project [PROJECT_ID]
  3. Si vous utilisez des clusters zonaux, définissez la zone de calcul par défaut :
    gcloud config set compute/zone [COMPUTE_ZONE]
  4. Si vous utilisez des clusters régionaux, définissez la région de calcul par défaut :
    gcloud config set compute/region [COMPUTE_REGION]
  5. Émettez la commande "create" :
    gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/trace.append

Pour en savoir plus sur la création des clusters, consultez la section Créer un cluster.

Compute Engine

Pour les instances de VM Compute Engine, vous devez activer explicitement le champ d'application d'accès de l'API Stackdriver Trace trace.append pour chaque instance de VM. Lorsque vous créez une instance à l'aide de la console Google Cloud Platform, sélectionnez les valeurs suivantes dans la section Identité et accès à l'API du panneau Créer une instance :

  1. Pour Compte de service, sélectionnez Compte de service Compute Engine par défaut.
  2. Pour Champs d'application de l'accès, sélectionnez Autoriser l'accès complet à l'ensemble des API Cloud.

Pour utiliser un autre compte que le compte de service par défaut de Compute Engine, consultez les sections Créer et activer des comptes de service pour les instances et Exécuter en local et depuis un autre emplacement. Il est important que le compte de service que vous utilisez possède le rôle Agent Cloud Trace.

Exécuter en local et depuis un autre emplacement

Pour exécuter Stackdriver Trace en dehors de GCP, vous devez fournir l'ID du projet GCP et les identifiants appropriés du compte de service, directement dans la bibliothèque cliente OpenCensus. Le compte de service doit contenir le rôle Agent Cloud Trace. Pour savoir comment faire, consultez la page Créer un compte de service.

ID du projet

Indiquez un ID de projet à OpenCensus, comme décrit dans la section Initialiser l'exportateur. Nous vous recommandons de définir la variable d'environnement GOOGLE_CLOUD_PROJECT sur l'ID du projet et de modifier l'application pour lire cette variable. Pour définir cette variable d'environnement, procédez comme suit :

Linux ou macOS

export GOOGLE_CLOUD_PROJECT=your-project-id

Windows

set GOOGLE_CLOUD_PROJECT=your-project-id

Powershell :

$env:GOOGLE_CLOUD_PROJECT="your-project-id"

Identifiants

Les bibliothèques clientes GCP utilisent le service Identifiants par défaut de l'application pour rechercher les identifiants de votre application. Pour fournir ces identifiants à la bibliothèque cliente OpenCensus, définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS :

Linux/macOS

    export GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key

Windows

    set GOOGLE_APPLICATION_CREDENTIALS=path-to-your-service-accounts-private-key

Powershell :

    $env:GOOGLE_APPLICATION_CREDENTIALS="path-to-your-service-accounts-private-key"

Afficher les traces

Après le déploiement, vous pouvez afficher les traces dans le lecteur de traces de la console GCP.

Accéder à la page Lecteur de traces

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Besoin d'aide ? Consultez notre page d'assistance.