Solucionar problemas de Cloud Endpoints en Compute Engine

En esta página se describen técnicas para solucionar problemas cuando se implementa Extensible Service Proxy (ESP) en una máquina virtual de Compute Engine.

Ver registros en la instancia de VM

Para solucionar problemas, puedes consultar el registro de tiempo de ejecución de los endpoints en la instancia de VM.

Para ver el registro:

  1. Usa ssh para conectarte a tu máquina virtual:

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

    Sustituye YOUR_PROJECT_ID y INSTANCE_NAME por el ID de tu proyecto y el nombre de la instancia de máquina virtual, respectivamente. Google Cloud

  2. Para ver el registro de errores de nginx, sigue estos pasos:

    Si ejecutas endpoints-runtime en una máquina virtual sin formato:

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

    Si ejecutas endpoints-runtime en Docker:

    docker ps
    
    docker logs CONTAINER_NAME
    

    Sustituye CONTAINER_NAME por el nombre de tu contenedor.

Mostrar el estado de un ESP

Para mostrar el estado del ESP, sigue estos pasos:

  1. Usa ssh para conectarte a tu máquina virtual:

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

    Sustituye YOUR_PROJECT_ID y INSTANCE_NAME por el ID de tu proyecto y el nombre de la instancia de máquina virtual, respectivamente.Google Cloud

  2. Recupera el nombre del contenedor ESP (normalmente, el nombre del contenedor es esp):

    docker ps
    
  3. Obtén un shell bash en el contenedor:

    docker exec -it ESP_CONTAINER_NAME /bin/bash
    

    Sustituye ESP_CONTAINER_NAME por el nombre del contenedor del ESP del paso anterior.

  4. Instala curl.

  5. Introduce lo siguiente:

    curl http://localhost:8090/endpoints_status
    

Obtener el ID de configuración del servicio

Si has definido rollout_strategy en managed al iniciar ESP y necesitas encontrar el ID de configuración que está usando una instancia de ESP, cerca del final del resultado del comando curl http://localhost:8090/endpoints_status, el resultado será similar al siguiente:

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

El valor de rolloutId es el ID de configuración del servicio que usa ESP. Este ID de configuración debe coincidir con la última configuración implementada. Puedes ver el historial de implementaciones en la página Endpoints > Services (Endpoints > Servicios) de la consola Google Cloud y ver los cambios realizados en la configuración del servicio. Consulta Comparar archivos de configuración.