Soluciona problemas de Cloud Endpoints en Compute Engine

En esta página, se muestran las técnicas de solución de problemas que se aplican cuando se implementa el proxy de servicio extensible (ESP) en una máquina virtual (VM) de Compute Engine.

Visualiza registros en la instancia de VM

Puedes solucionar problemas observando el registro de Endpoints Runtime en la instancia de VM.

Para ver el registro, sigue estos pasos:

  1. Usa ssh para conectarte a tu máquina virtual de la siguiente manera:

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

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

  2. Visualiza el registro de errores de nginx:

    Si ejecutas endpoints-runtime en una VM sin procesar, haz lo siguiente:

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

    Si ejecutas endpoints-runtime dentro de Docker, haz lo siguiente:

    docker ps
    
    docker logs CONTAINER_NAME
    

    Reemplaza CONTAINER_NAME con el nombre de tu contenedor.

Muestra el estado del ESP

Para mostrar el estado del ESP, haz lo siguiente:

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

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

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

  2. Recupera el nombre del contenedor del ESP (por lo general, el nombre del contenedor es esp):

    docker ps
    
  3. Obtén un shell Bash en el contenedor con el comando siguiente:

    docker exec -it ESP_CONTAINER_NAME /bin/bash
    

    Reemplaza ESP_CONTAINER_NAME con el nombre del contenedor del ESP del paso anterior.

  4. Instala curl.

  5. Ingresa lo siguiente:

    curl http://localhost:8090/endpoints_status
    

Obtén el ID de configuración de servicio

Si configuraste rollout_strategy como managed cuando inicias el ESP, y necesitas encontrar el ID de configuración que usa una instancia de ESP, cerca del final del resultado del comando curl http://localhost:8090/endpoints_status, el resultado es similar al siguiente:

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

El valor en rolloutId es el ID de configuración de servicio que ESP usa. Este ID debería coincidir con la configuración que se implementó más recientemente. Puedes ver el historial de implementaciones en la página Servicios de Endpoints en Google Cloud Console y los cambios realizados en la configuración del servicio. Consulta Comparar archivos de configuración.