Configurer Stackdriver Debugger pour Node.js

Cette page explique comment configurer l'environnement et l'application Node.js pour qu'ils utilisent Stackdriver Debugger. Pour certains environnements, vous devez spécifier explicitement le champ d'application d'accès pour permettre à l'agent Stackdriver Debugger d'envoyer des données. Nous vous recommandons de définir le niveau d'accès le plus large possible, puis d'utiliser Cloud Identity and Access Management pour limiter l'accès. Conformément à cette bonne pratique, définissez le niveau d'accès sur toutes les API Cloud avec l'option cloud-platform.

Avant de commencer

Pour commencer à utiliser Debugger, assurez-vous que l'API Debugger est activée.
Activer l'API Debugger

App Engine

  1. Installez le package à l'aide de npm :

    npm install --save @google-cloud/debug-agent
    
  2. Activez l'agent dans la partie supérieure du script principal ou du point d'entrée de votre application (mais après @google/cloud-trace si vous l'utilisez également) :

    require('@google-cloud/debug-agent').start();
    

Le débogueur est maintenant prêt à être utilisé avec l'application.

Pour découvrir comment afficher automatiquement le code source correspondant à l'application déployée sur la page "Débogage" de Cloud Console, consultez la page Sélectionner automatiquement le code source.

Google Kubernetes Engine

GCLOUD

Pour activer Debugger à l'aide de gcloud, procédez comme suit :

  1. Créez votre cluster avec l'un des niveaux d'accès suivants :

    • https://www.googleapis.com/auth/cloud-platform permet à votre cluster d'accéder à toutes les API Google Cloud.

    • https://www.googleapis.com/auth/cloud_debugger ne permet à votre cluster d'accéder qu'à l'API Debugger. Utilisez ce niveau d'accès pour renforcer la sécurité de votre cluster.

    gcloud container clusters create example-cluster-name \
           --scopes=https://www.googleapis.com/auth/cloud_debugger
    
  2. Incluez la ligne suivante dans le fichier Dockerfile pour ajouter l'agent Debugger :

    RUN  npm install --save @google-cloud/debug-agent
    
  3. Activez l'agent dans la partie supérieure du script principal ou du point d'entrée de votre application (mais après @google/cloud-trace si vous l'utilisez également) :

    require('@google-cloud/debug-agent').start({
      serviceContext: {
        service: 'SERVICE',
        version: 'VERSION'
      }
    });
    

    Où :

    • SERVICE est le nom de votre application, tel que MyApp, Backend ou Frontend.
    • VERSION est une version, telle que v1.0, build_147 ou v20170714.

    Nous vous recommandons de définir ces éléments à partir de variables d'environnement. Ainsi, vous n'aurez pas à modifier le code source à chaque déploiement.

Le débogueur est maintenant prêt à être utilisé lors du déploiement de votre application en conteneur.

Pour découvrir comment afficher automatiquement le code source correspondant à l'application déployée sur la page "Débogage" de Cloud Console, consultez la page Sélectionner automatiquement le code source.

CONSOLE

Pour activer Debugger à l'aide de la console, procédez comme suit :

  1. Après avoir sélectionné le type de cluster, cliquez sur More options (Plus d'options) dans le volet Node pools (Pools de nœuds) :

    Options des pools de nœuds

  2. Sélectionnez l'une des options suivantes dans le volet Sécurité :

    • Autoriser l'accès complet à l'ensemble des API Cloud

    • Définir l'accès pour chaque API, puis sélectionner Activé pour Cloud Debugger

Compute Engine

  1. Assurez-vous que vos instances Compute Engine sont créées avec l'option de niveau d'accès Autoriser l'accès complet à toutes les API Cloud ou que leur niveau d'accès correspond à l'une des options suivantes :

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  2. Installez le package à l'aide de npm :

    npm install --save @google-cloud/debug-agent
    
  3. Activez l'agent dans la partie supérieure du script principal ou du point d'entrée de votre application (mais après @google/cloud-trace si vous l'utilisez également) :

    require('@google-cloud/debug-agent').start({
      serviceContext: {
        service: 'SERVICE',
        version: 'VERSION'
      }
    });
    

    Où :

    • SERVICE est le nom de votre application, tel que MyApp, Backend ou Frontend.
    • VERSION est une version, telle que v1.0, build_147 ou v20170714.

    Nous vous recommandons de définir ces éléments à partir de variables d'environnement. Ainsi, vous n'aurez pas à modifier le code source à chaque déploiement.

Le débogueur est maintenant prêt à être utilisé avec l'application.

Pour découvrir comment afficher automatiquement le code source correspondant à l'application déployée sur la page "Débogage" de Cloud Console, consultez la page Sélectionner automatiquement le code source.

Cloud Run et Cloud Run pour Anthos sur Google Cloud

  1. Installez le package à l'aide de npm :

    npm install --save @google-cloud/debug-agent
    
  2. Activez l'agent dans la partie supérieure du script principal ou du point d'entrée de votre application (mais après @google/cloud-trace si vous l'utilisez également) :

    require('@google-cloud/debug-agent').start();
    

    Le débogueur est maintenant prêt à être utilisé lors du déploiement de votre application en conteneur.

Environnement local et autre

  1. Installez le package à l'aide de npm :

    npm install --save @google-cloud/debug-agent
    
  2. Téléchargez les identifiants du compte de service.

    Pour que vous puissiez utiliser l'agent Stackdriver Debugger pour Node.js sur des machines non hébergées par Google Cloud, l'agent doit s'authentifier auprès du service Stackdriver Debugger à l'aide des identifiants du compte de service Google Cloud.

    Suivez les instructions de la page Comptes de service de Cloud Console pour créer un fichier d'identifiants pour un compte de service nouveau ou existant. Ce compte doit au moins disposer du rôle Stackdriver Debugger Agent.

  3. Configurez et activez l'agent avec les identifiants téléchargés.

    require('@google-cloud/debug-agent').start({
      projectId: 'your-project-id',
      keyFilename: '/path/to/key.json',
      serviceContext: {
        service: 'SERVICE',
        version: 'VERSION'
      }
    });
    

    Où :

    • SERVICE est le nom de votre application, tel que MyApp, Backend ou Frontend.
    • VERSION est une version, telle que v1.0, build_147 ou v20170714.

    Nous vous recommandons de définir ces éléments à partir de variables d'environnement. Ainsi, vous n'aurez pas à modifier le code source à chaque déploiement.

Le débogueur est maintenant prêt à être utilisé avec l'application.

La page "Débogage" de Cloud Console peut afficher les fichiers source locaux, sans les importer, pour les développements en local. Pour en savoir plus, consultez la page Sélectionner manuellement le code source.