Risoluzione dei problemi di Cloud Endpoints su Compute Engine

Questa pagina presenta tecniche di risoluzione dei problemi quando Extensible Service Proxy (ESP) viene implementato su una macchina virtuale (VM) Compute Engine.

Visualizzazione dei log sull'istanza VM

Puoi risolvere i problemi esaminando il log di runtime di Endpoints nell'istanza VM.

Per visualizzare il log:

  1. Utilizza ssh per connetterti alla macchina virtuale:

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

    Sostituisci YOUR_PROJECT_ID e INSTANCE_NAME con l'ID progetto e il nome dell'istanza di macchina virtuale, rispettivamente. Google Cloud

  2. Visualizza il log degli errori nginx:

    Se esegui endpoints-runtime su una VM non elaborata:

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

    Se esegui endpoints-runtime in Docker:

    docker ps
    
    docker logs CONTAINER_NAME
    

    Sostituisci CONTAINER_NAME con il nome del container.

Visualizzazione dello stato dell'ESP

Per visualizzare lo stato dell'ESP:

  1. Utilizza ssh per connetterti alla tua macchina virtuale:

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

    Sostituisci YOUR_PROJECT_ID e INSTANCE_NAME con l'Google Cloud ID progetto e il nome dell'istanza di macchina virtuale, rispettivamente.

  2. Recupera il nome del contenitore ESP (in genere il nome del contenitore è esp):

    docker ps
    
  3. Recupera una shell bash nel container:

    docker exec -it ESP_CONTAINER_NAME /bin/bash
    

    Sostituisci ESP_CONTAINER_NAME con il nome del container ESP del passaggio precedente.

  4. Installa curl.

  5. Inserisci quanto segue:

    curl http://localhost:8090/endpoints_status
    

Recupero dell'ID configurazione del servizio

Se hai impostato rollout_strategy su managed quando hai avviato ESP, e devi trovare l'ID configurazione utilizzato da un'istanza di ESP, verso la fine dell'output del comando curl http://localhost:8090/endpoints_status, l'output è simile al seguente:

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

Il valore in rolloutId è l'ID configurazione del servizio utilizzato da ESP. Questo ID configurazione deve corrispondere all'ultima configurazione di cui è stato eseguito il deployment. Puoi visualizzare la cronologia dei deployment nella pagina Endpoint > Servizi della console Google Cloud e visualizzare le modifiche apportate alla configurazione del servizio. Vedi Confronto dei file di configurazione.