Fehlerbehebung bei Cloud Endpoints auf Compute Engine

Auf dieser Seite werden Möglichkeiten zur Fehlerbehebung beschrieben, die voraussetzen, dass der ESP (Extensible Service Proxy) auf einer virtuellen Maschine (VM) von Compute Engine bereitgestellt wurde.

Logs auf der VM-Instanz aufrufen

Eine Möglichkeit, Fehler zu beheben, bietet das Laufzeit-Log von Cloud Endpoints auf der VM-Instanz.

So rufen Sie das Log auf:

  1. Stellen Sie mit ssh eine Verbindung zu Ihrer virtuellen Maschine her:

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

    Ersetzen Sie YOUR_PROJECT_ID und INSTANCE_NAME durch Ihre Projekt-ID auf der Google Cloud oder den Namen der VM-Instanz.

  2. Sehen Sie sich das nginx-Fehlerprotokoll an:

    Wenn Sie endpoints-runtime auf einer RAW-VM ausführen:

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

    Wenn Sie endpoints-runtime in Docker ausführen:

    docker ps
    
    docker logs CONTAINER_NAME
    

    Ersetzen Sie CONTAINER_NAME durch den Namen des Containers.

ESP-Status anzeigen lassen

So lassen Sie den ESP-Status anzeigen:

  1. Stellen Sie mit ssh eine Verbindung zu Ihrer virtuellen Maschine her:

    gcloud config set project YOUR_PROJECT_ID
    
    gcloud compute ssh INSTANCE_NAME
    

    Ersetzen Sie YOUR_PROJECT_ID und INSTANCE_NAME durch Ihre Projekt-ID auf der Google Cloud oder den Namen der VM-Instanz.

  2. Rufen Sie den Namen des ESP-Containers ab (normalerweise lautet der Containername esp):

    docker ps
    
  3. Rufen Sie eine Bash-Shell im Container auf:

    docker exec -it ESP_CONTAINER_NAME /bin/bash
    

    Ersetzen Sie ESP_CONTAINER_NAME durch den Namen des ESP-Containers aus dem vorherigen Schritt.

  4. Installieren Sie curl:

  5. Geben Sie Folgendes ein:

    curl http://localhost:8090/endpoints_status
    

Dienstkonfigurations-ID abrufen

Wenn rollout_strategy beim Start des ESP auf managed festgelegt war und Sie die Konfigurations-ID ermitteln müssen, die eine Instanz des ESP verwendet, finden Sie gegen Ende der Ausgabe des Befehls curl http://localhost:8090/endpoints_status Angaben wie diese:

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

Der Wert in rolloutId ist die Dienstkonfigurations-ID, die vom ESP verwendet wird. Diese Konfigurations-ID sollte der aktuell bereitgestellten Konfiguration entsprechen. Änderungen an der Dienstkonfiguration können Sie im Bereitstellungsverlauf in der Google Cloud Console auf der Seite Endpoints > Dienste aufrufen. Siehe Konfigurationsdateien vergleichen.