Apigee-Zugriffslogs protokollieren

Diese Seite gilt für Apigee, aber nicht für Apigee Hybrid.

Apigee Edge-Dokumentation aufrufen

Apigee-Abo- und „Pay as you go“-Kunden können Cloud Logging-Ingress-Zugriffslogs für jede Apigee-Instanz in ihrer Organisation aktivieren. Nach der Aktivierung können Sie mit diesem Feature die Logs aufrufen, die von Ingress-Gateways in Ihrer Apigee-Infrastruktur generiert werden, z. B. einem externen Application Load Balancer oder einem Anthos-Gateway, um die Fehlerbehebung von Apigee API-Aufrufen zu erleichtern.

Wenn diese Funktion für eine oder mehrere Ihrer Apigee-Instanzen aktiviert ist, werden Ihnen die an Ihr Projekt gesendeten Protokolle in Rechnung gestellt. Weitere Informationen zu den Google Cloud-Gebühren für Logging finden Sie unter Cloud Logging – Preise.

In diesem Thema wird beschrieben, wie Apigee-Kunden Cloud Logging-Ingress-Zugriffslogs für die Apigee-Instanzen in ihrer Organisation aktivieren und verwenden können.

Hinweise

Zum Aktivieren des Features benötigen Sie die folgende Rolle und die folgenden Berechtigungen:

  • Rollen: Apigee-Organisationsadministrator (roles/apigee.admin)
  • Berechtigungen:
    • apigee.instances.create
    • apigee.instances.update

Auf Rollen prüfen

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    IAM aufrufen
  2. Wählen Sie das Projekt aus.
  3. Suchen Sie in der Spalte Hauptkonto nach der Zeile mit Ihrer E-Mail-Adresse.

    Ist Ihre E-Mail-Adresse nicht in dieser Spalte enthalten, haben Sie keine Rollen.

  4. Prüfen Sie in der Spalte Rolle der Zeile mit Ihrer E-Mail-Adresse, ob die Liste der Rollen die erforderlichen Rollen enthält.

Rollen zuweisen

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    IAM aufrufen
  2. Wählen Sie das Projekt aus.
  3. Klicken Sie auf Zugriff erlauben.
  4. Geben Sie in das Feld Neue Hauptkonten Ihre E-Mail-Adresse ein.
  5. Wählen Sie in der Liste Rolle auswählen eine Rolle aus.
  6. Wenn Sie weitere Rollen zuweisen möchten, klicken Sie auf Weitere Rolle hinzufügen und fügen Sie weitere Rollen hinzu.
  7. Klicken Sie auf Speichern.

Ingress-Zugriffslogging für Ihre Apigee-Instanzen aktivieren

Sie können die Cloud Logging-Protokollierung für den Zugriff auf den Eingang aktivieren, wenn Sie eine Apigee-Instanz über die Apigee-Benutzeroberfläche in der Cloud Console oder die API erstellen oder bearbeiten.

Wenn Sie die Funktion beim Erstellen oder Aktualisieren einer Apigee-Instanz aktivieren möchten, folgen Sie der Anleitung unter Instanzen verwalten, um eine Instanz zu erstellen oder zu bearbeiten.

Apigee in der Cloud Console

Im Abschnitt Logging auf der Seite Instanz erstellen oder Instanz bearbeiten:

  1. Klicken Sie auf die Ein/Aus-Schaltfläche Logging aktivieren, um die Funktion zu aktivieren.
  2. Optional wählen Sie im Feld Antwortcode einen HTTP-Antwortcode aus, der als Filter für die Zugriffslogs dient.

    Wenn Sie unabhängig vom HTTP-Antwortcode alle Logs einschließen möchten, wählen Sie None (all HTTP responses) aus.

    Wählen Sie zum Erstellen eines benutzerdefinierten Filters Custom aus und geben Sie den Filter im folgenden Format ein:

    status_code > XX && status code <= YY

    Beispiel:

    status_code >= 500 && status_code < 504

  3. Nachdem Sie alle Informationen zum Erstellen oder Bearbeiten der Instanz angegeben haben, klicken Sie auf Speichern.

Apigee API

Verwenden Sie folgenden Befehl, um eine vorhandene Instanz mit der Apigee API zu aktualisieren:

curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/instances/INSTANCE_NAME?updateMask=access_logging_config.enabled,access_logging_config.filter" \
    -X PATCH -H "Authorization: Bearer $TOKEN" \
    -H 'Accept: application/json' -H 'Content-Type: application/json' \
    -d '{
      "name": "INSTANCE_NAME",
      "accessLoggingConfig":
        {
          "enabled": "true",
          "filter": "status_code >= 0 && status_code < 600 "
        }
      }'

Wobei:

  • ORG_NAME ist der Name Ihrer Apigee-Organisation.
  • INSTANCE_NAME ist der Name der Apigee-Instanz, die Sie bearbeiten möchten.

Beachten Sie, dass in diesem Befehl der für die Property filter angegebene Wert alle Protokolle zurückgibt. Wenn Sie die Protokolle nach HTTP- oder anderen Statuscodes filtern möchten, können Sie den Wert filter anpassen.

Sobald die Instanz erfolgreich erstellt oder aktualisiert wurde, sollten die Ingress-Zugriffslogs für diese Instanz in Ihrem Projekt innerhalb von Minuten verfügbar sein.

Ingress-Zugriffslogs ansehen

Sobald das Feature aktiviert ist, können Sie die Ingress-Zugriffslogs für Instanzen in Ihrem Projekt innerhalb von Minuten mit dem Log-Explorer in der Google Cloud Console aufrufen.

Logeinträge im Log-Explorer aufrufen:

  1. Wählen Sie in der Google Cloud Console Logging > Log-Explorer aus.

    Zum Log-Explorer

  2. Achten Sie darauf, dass Ihr Google Cloud-Projekt ausgewählt ist.
  3. Geben Sie auf dem Tab Abfrage den Lognamen mit einer der folgenden Methoden in das Editorfeld Abfrage ein:
    • So verwenden Sie das Auswahlfeld Logname:
      1. Klicken Sie auf das Auswahlfeld Logname, um den Bereich Logname zu öffnen.
      2. Geben Sie in das Feld Lognamen auswählen ingress_instance ein.
      3. Klicken Sie auf Anwenden.
      4. Der Logname wird im Editorfeld Abfrage angezeigt.
    • Geben Sie den Lognamen direkt im Editorfeld Abfrage ein:

      logName="projects/ORG_NAME/logs/apigee.googleapis.com/ingress_instance"

  4. Erstellen Sie den Rest der Abfrage im Editorfeld Abfrage. Die Logs werden in der Liste Abfrageergebnisse angezeigt.
  5. Klicken Sie auf einen Logeintrag, um weitere Informationen zu erhalten.

Fehlerbehebung mit Ingress-Zugriffslogs

Sobald das Feature aktiviert und die Logs im Log-Explorer verfügbar sind, können Sie eine Reihe von Cloud Logging-Features zur Fehlerbehebung nutzen, darunter:

  • Abfragen mit der Cloud Logging-Abfragesprache erstellen

    Sie können Logs bei der Verwendung von Log-Explorer abrufen und analysieren. Dazu schreiben Sie Abfragen in das Feld des Abfrageeditors und treffen eine Auswahl aus den Filtermenüoptionen, die in Logeinträgen enthalten sind. Weitere Informationen zum Erstellen von Abfragen und zum Analysieren von Daten im Log-Explorer finden Sie unter Abfragen mit der Cloud Logging-Abfragesprache erstellen und speichern.

  • Logbasierte Messwerte und Benachrichtigungen aktivieren

    Sie können einen eigenen logbasierten Messwert definieren, um Informationen zu erfassen, die für Ihre Apigee-Instanzen spezifisch sind. Weitere Informationen finden Sie unter Übersicht über logbasierte Messwerte.

    Sie können eine logbasierte Benachrichtigungsrichtlinie im Log-Explorer erstellen. Weitere Informationen und eine detaillierte Anleitung finden Sie unter Logbasierte Benachrichtigungsrichtlinie mit dem Log-Explorer erstellen.

  • Nach HTTP-Statuscodes filtern

    Sie können Ihre Abfragen im Log-Explorer verfeinern, um nach HTTP-Statuscodes zu filtern, auch wenn Sie beim Aktivieren der Funktion nicht ausgewählt haben, Ihre Ingress-Zugriffslogs nach HTTP-Statuscode zu filtern. Verwenden Sie das folgende Format, um Ihrer Abfrage diesen Filter hinzuzufügen:

    status_code > XX && status code <= YY

    Beispiel:

    status_code >= 500 && status_code < 504

  • Nach Ingress-Statuscodes filtern

    Zusätzlich zum Filtern nach HTTP-Statuscodes können Sie eine Abfrage erstellen, um nach ingress status_code 0 zu filtern. Dieser Code weist häufig auf ein Netzwerk- oder Verbindungsproblem hin, das verhindert, dass der Client eine Serverantwort empfängt.

Eine ausführliche Erläuterung aller Funktionen im Log-Explorer finden Sie unter Logs mit dem Log-Explorer aufrufen.

Feature deaktivieren

Wenn Sie die Fehlerbehebung für Ihre Apigee-Instanz abgeschlossen haben, können Sie die Instanz bearbeiten, um das Feature zu deaktivieren. Wenn Sie das Feature deaktivieren, wird der Zugriff auf die ingress_instance-Logs in Ihrem Projekt deaktiviert und die Abrechnung beendet.

Sie können die Instanz bearbeiten, um das Feature über die Apigee-UI in der Cloud Console oder die API zu deaktivieren.

Apigee in der Cloud Console

So deaktivieren Sie das Feature mit Apigee in der Cloud Console:

  • Öffnen Sie die Apigee-UI in der Cloud Console in einem Browser.
  • Wählen Sie Verwaltung > Instanzen aus.
  • Klicken Sie auf die Instanz, die Sie bearbeiten möchten.
  • Klicken Sie auf der Seite Instanzdetails auf Bearbeiten.
  • Klicken Sie auf der Seite Instanz bearbeiten auf die Ein/Aus-Schaltfläche Logging aktivieren, um das Feature zu deaktivieren.
  • Klicken Sie auf Speichern.
  • Apigee API

    Verwenden Sie den folgenden Befehl, um das Feature in Ihrer Instanz zu deaktivieren:

    curl "https://apigee.googleapis.com/v1/organizations/ORG_NAME/instances/INSTANCE_NAME?updateMask=access_logging_config.enabled,access_logging_config.filter" \
        -X PATCH -H "Authorization: Bearer $TOKEN" \
        -H 'Accept: application/json' -H 'Content-Type: application/json' \
        -d '{
          "name": "INSTANCE_NAME",
          "accessLoggingConfig":
            {
                "enabled": "false"
            }
            }'

    Wobei:

    • ORG_NAME ist der Name Ihrer Apigee-Organisation.
    • INSTANCE_NAME ist der Name der Apigee-Instanz, die Sie bearbeiten möchten.