Risoluzione dei problemi di Cloud Endpoints su Compute Engine

Questa pagina illustra le tecniche per la risoluzione dei problemi quando Il deployment di Extensible Service Proxy (ESP) viene eseguito su una Compute Engine virtuale o una macchina virtuale (VM).

Visualizzazione dei log sull'istanza VM

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

Per visualizzare il log:

  1. Usa 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 il tuo account Google Cloud rispettivamente con ID progetto e nome istanza di macchina virtuale.

  2. Visualizza il log degli errori nginx:

    Se esegui il runtime degli endpoint 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 contenitore.

Visualizzazione dello stato dell'ESP

Per visualizzare lo stato ESP:

  1. Usa 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'ID del progetto Google Cloud e il nome dell'istanza della macchina virtuale, rispettivamente.

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

    docker ps
    
  3. Ottieni una shell bash nel contenitore:

    docker exec -it ESP_CONTAINER_NAME /bin/bash
    

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

  4. Installa curl.

  5. Inserisci quanto segue:

    curl http://localhost:8090/endpoints_status
    

Ottenere l'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, l'output del comando curl http://localhost:8090/endpoints_status, verso la fine, è simile al seguente:

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

Il valore nel campo rolloutId corrisponde all'ID di configurazione del servizio che ESP sta usando. Questo ID di configurazione deve corrispondere all'ultima configurazione di cui è stato eseguito il deployment. Puoi visualizzare la cronologia del deployment negli Endpoint > nella pagina Servizi nel nella console Google Cloud e vedere le modifiche apportate alla configurazione del servizio. Consulta: Confrontare i file di configurazione.