Résoudre les problèmes liés à Cloud Endpoints sur Compute Engine

Cette page présente des solutions de dépannage lorsque le proxy Extensible Service Proxy (ESP) est déployé sur une machine virtuelle (VM) Compute Engine.

Afficher les journaux sur l'instance de VM

L'observation du journal d'exécution d'Endpoints sur l'instance de VM permet de résoudre certains problèmes.

Pour afficher le journal, procédez comme suit :

  1. Utilisez ssh pour vous connecter à la machine virtuelle :

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

    Remplacez YOUR_PROJECT_ID par l'ID de votre projet Google Cloud et INSTANCE_NAME par le nom de l'instance de VM.

  2. Consultez le journal d'erreurs de nginx :

    Si votre environnement d'exécution Cloud Endpoints est configuré sur une machine virtuelle brute :

    tail -f /var/log/nginx/error.log
    

    Si vous exécutez endpoints-runtime dans Docker :

    docker ps
    
    docker logs CONTAINER_NAME
    

    Remplacez CONTAINER_NAME par le nom du conteneur.

Afficher l'état du proxy ESP

Pour afficher l'état du proxy ESP, procédez comme suit :

  1. Utilisez ssh pour vous connecter à la machine virtuelle :

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

    Remplacez YOUR_PROJECT_ID par l'ID de votre projet Cloud et INSTANCE_NAME par le nom de l'instance de VM.

  2. Récupérez le nom du conteneur ESP (généralement appelé esp) :

    docker ps
    
  3. Obtenez une interface système bash dans le conteneur :

    docker exec -it ESP_CONTAINER_NAME /bin/bash
    

    Remplacez ESP_CONTAINER_NAME par le nom du conteneur ESP obtenu à l'étape précédente.

  4. Installez curl.

  5. Saisissez la chaîne suivante :

    curl http://localhost:8090/endpoints_status
    

Obtenir l'ID de configuration de service

Si vous avez défini rollout_strategy sur managed lorsque vous avez démarré le proxy ESP, et que vous recherchez l'ID de configuration utilisé par une instance ESP, le résultat de la commande curl http://localhost:8090/endpoints_status présente une fin semblable aux lignes ci-dessous :

      "serviceConfigRollouts": {
          "rolloutId": "2017-08-09r27",
          "percentages": {
               "2017-08-09r26": "100"
          }
      }

La valeur de rolloutId est l'ID de configuration de service utilisé par ESP. Cet ID de configuration doit correspondre à la dernière configuration déployée. Vous pouvez afficher l'historique des déploiements sur la page Endpoints > Services de Google Cloud Console et consulter les modifications apportées à la configuration de service. Reportez-vous à la section Comparer des fichiers de configuration.