Überwachen und Fehler beheben

Auf dieser Seite wird beschrieben, wie Sie Informationen zu Fehlern abrufen, die bei Katalog- und Nutzerereignis-Importen sowie anderen Retail API-Vorgängen aufgetreten sind.

Hilfe zur Einrichtung von Benachrichtigungen finden Sie unter Benachrichtigungen einrichten.

Einführung

Es ist wichtig, der Retail API genaue Kataloginformationen und Nutzerereignisse bereitzustellen, um qualitativ hochwertige Ergebnisse zu erhalten. Wenn Sie die Fehlerquelle überwachen und verstehen, können Sie Fehler auf Ihrer Website finden und beheben.

Zusammengefasste Integrationsfehler ansehen

Auf der Seite Monitoring können Sie sich die aggregierten Fehler ansehen, die durch Ihre Datenuploadprozesse sowie Vorhersage- oder Suchanfragen generiert wurden.

Auf dieser Seite werden alle Fehler für die Retail API angezeigt. Sie können Fehler im Zusammenhang mit dem Produktkatalog, Nutzerereignissen, Empfehlungsvorhersagen, Retail Search-Ergebnissen und Modellen aufrufen. Das System protokolliert außerdem Fehler bei Importen, z. B. eine fehlerhafte Zeile in Ihrer Cloud Storage-Datei. Das System protokolliert bis zu 100 Fehler pro Importdatei. Sie können den Zeitraum definieren, für den Fehler angezeigt werden, und einen Filter basierend auf dem Fehlertyp erstellen.

Sie können auf einen einzelnen Fehler klicken, um die Logs für diesen Fehler in Cloud Logging aufzurufen.

Sie können einzelne Fehlerlogs öffnen, indem Sie das Log maximieren. Fehlerlogs enthalten weitere Details zur Anfrage, einschließlich der Nutzlasten der Anfrage- und Antwort sowie Fehlerdetails. Anhand dieser Informationen können Sie feststellen, wo sich der fehlerhafte Methodenaufruf auf Ihrer Website befindet.

Bei Fehlern durch ungültiges JSON erhalten Sie weitere Informationen zu dem Problem, indem Sie das Feld status erweitern.

Status für einen bestimmten Integrationsvorgang ansehen

Sie können den Status eines bestimmten Integrationsvorgangs im Fenster Aktivitätsstatus sehen:

  1. Rufen Sie in der Google Cloud Console die Seite Daten für den Einzelhandel auf.

    Zur Seite „Daten“

  2. Klicken Sie auf Aktivitätsstatus.

    Das Fenster Aktivitätsstatus zeigt den Status von Vorgängen mit langer Ausführungszeit für Ihren Produktkatalog, Nutzerereignisse und Steuerelemente.

    In diesem Fenster können Sie Fehler für bestimmte Integrationsvorgänge überprüfen.

  3. Klicken Sie auf Logs ansehen in der Spalte "Detail" eines beliebigen Vorgangs mit einem Fehler zur Prüfung der Log-Dateien in Cloud Logging.

Logs in Cloud Logging ansehen

So öffnen Sie Ihre Logdateien direkt in Cloud Logging: Sie benötigen die Rolle „Loganzeige“ (roles/logging.viewer), um Logs anzusehen.

  1. Rufen Sie in der Google Cloud Console den Log-Explorer auf. Zum Log-Explorer

  2. Wählen Sie Ihr Retail-Projekt aus der Projektauswahl aus.

  3. Klicken Sie auf das Drop-down-Menü Ressource und wählen Sie Consumed API > Cloud Retail aus.

Weitere Informationen zum Log-Explorer finden Sie unter Logs mit dem Log-Explorer ansehen.

Über diesen Link werden beispielsweise Logs für alle Retail-Fehler der letzten Stunde geöffnet:

Retail-Logs öffnen

Informationen zum Konfigurieren der zu schreibenden API-Logs finden Sie unter Logging konfigurieren.

Logging konfigurieren

Sie können konfigurieren, welche Dienstlogs in Logging geschrieben werden. Die Logging-Konfiguration bietet die Möglichkeit, die Wichtigkeitsstufen festzulegen, mit denen Logs geschrieben, das Logging aktiviert oder deaktiviert und die Standard-Logging-Einstellungen für bestimmte Dienste überschrieben werden sollen.

Für jede API-Anfrage eines Endnutzers kann ein Logging-Eintrag generiert werden. Ein Eintrag enthält Informationen wie die API-Methode, den Zeitpunkt des Aufrufs, den Antwortcode sowie die Anfrage- und Antworttexte. Die Logging-Konfiguration eines Projekts gibt an, welche Arten von Logs, die von der API generiert werden, in Logging geschrieben werden. Die Logging-Konfigurationen für bestimmte API-Dienste lassen sich dabei detailliert angeben.

Zum Aktualisieren von Logging-Konfigurationen benötigen Sie die Rolle „Retail-Bearbeiter“.

Sie können Logging über die Retail-Konsole oder die LoggingConfig API konfigurieren.

Console

So aktualisieren Sie Logging-Konfigurationen in der Console:

  1. Rufen Sie in der Google Cloud Console die Seite Monitoring für den Einzelhandel auf.

    Zur Seite „Monitoring“

  2. Klicken Sie auf Logging-Konfiguration.

  3. Wählen Sie zum Festlegen einer globalen Logging-Konfiguration eine Logging-Ebene aus. Wenn Sie LOG_ALL auswählen, geben Sie auch eine Abtastrate für erfolgreiche Logs ein.

  4. Wenn Sie eine Konfiguration auf Dienstebene festlegen möchten, wählen Sie einen zu aktualisierenden Dienst und seine Logging-Ebene aus. Diese Einstellung überschreibt die globale Logging-Konfiguration.

curl

Verwenden Sie die Ressource LoggingConfig, um Logging-Konfigurationen mithilfe der API zu aktualisieren. Weitere Informationen finden Sie in der LoggingConfig API-Referenz.

  1. Verwenden Sie loggingConfig.Get, um die aktuelle Logging-Konfiguration anzusehen.

    curl -X GET \
        -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/loggingConfig"
    
    • PROJECT_ID: Die ID Ihres Projekts.
  2. Verwenden Sie die Methode loggingConfig.Patch, um die Logging-Konfiguration zu aktualisieren. Weitere Informationen finden Sie in der API-Referenz zu LoggingConfig.

    In diesem Beispiel wird loggingConfig.Patch verwendet, um die globale Logging-Konfiguration auf LOG_WARNINGS_AND_ABOVE zu setzen. Außerdem werden zwei Konfigurationen auf Dienstebene festgelegt: CatalogService wird auf LOG_WARNINGS_AND_ABOVE und ControlService auf LOG_ALL gesetzt.

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
      -H "Content-Type: application/json; charset=utf-8" \
      "https://retail.googleapis.com/v2alpha/projects/PROJECT_ID/loggingConfig" \
      --data '{
        "name": "projects/PROJECT_ID/loggingConfig",
        "default_log_generation_rule": {"logging_level": "LOG_ERRORS_AND_ABOVE"},
        "service_log_generation_rules": [
          {
            "service_name": "CatalogService",
            "log_generation_rule": {
              "logging_level": "LOG_WARNINGS_AND_ABOVE"
              }
          },
          {
            "service_name": "ControlService",
            "log_generation_rule": {
                "logging_level": "LOG_ALL", "info_log_sample_rate": "0.1"
                }
            }
          ]
        }'
    

Protokollierungsebenen

Nur Logs mit bestimmten Schweregraden werden in Logging geschrieben. Mit den Einstellungen für die Logging-Ebene wird festgelegt, welche von einer API-Methode generierten Logs in Logging geschrieben werden.

Wenn für eine API-Methode keine Logging-Konfiguration auf Dienstebene festgelegt ist, wird die globale Einstellung für die Logging-Ebene verwendet.

Die Standardeinstellung für die Logging-Ebene ist LOG_WARNINGS_AND_ABOVE.

Das Feld logging_level akzeptiert die folgenden Werte:

  • LOGGING_DISABLED: Kein Log geschrieben.
  • LOG_ERRORS_AND_ABOVE: Protokolliert nur Fehler.
  • LOG_WARNINGS_AND_ABOVE: Protokolliert nur Fehler und Warnungen.
  • LOG_ALL: Protokolliert alles, auch erfolgreiche Logs wie INFO-Logs.

Abtastrate für erfolgreiche Logs

Wenn Sie die Einstellung für die Logging-Ebene auf LOG_ALL gesetzt haben, aber nicht jedes erfolgreiche Log protokollieren möchten, können Sie eine Stichprobenrate angeben. Sie können beispielsweise regelmäßig Logs auf eine erfolgreiche Statusbestätigung überprüfen oder den Prozentsatz erfolgreicher Logs aufrufen. Wenn Sie eine Abtastrate angeben, können Sie dies tun, ohne eine große Anzahl von INFO-Logeinträgen in Logging schreiben zu müssen. Dies kann zu höheren Logging-Kosten führen.

Wenn Sie eine Abtastrate angeben möchten, setzen Sie info_log_sample_rate auf einen gültigen Gleitkommawert größer als 0 und kleiner oder gleich 1. Die Abtastrate bestimmt, mit welcher Wahrscheinlichkeit ein INFO-Log in Logging geschrieben wird. Der Standardwert ist 1 (alle INFO-Logs werden geschrieben).

Konfigurationen auf Dienstebene

Sie können Logging-Konfigurationen für bestimmte Dienste festlegen. Dadurch wird die globale Logging-Einstellung für diesen Dienst überschrieben. Beispiel: Sie haben die globale Logging-Ebene auf LOG_WARNINGS_AND_ABOVE festgelegt und die UserEventService-Dienst-Logging-Ebene auf LOG_ALL, damit Sie prüfen können, ob Nutzerereignisintegrationen erfolgreich waren.

Verwenden Sie das Objekt ServiceLoggingLevel, um detaillierte Protokollierungsebenen festzulegen.

Das Feld service_name akzeptiert die folgenden Werte:

  • CompletionService
  • ControlService
  • MerchantCenterStreaming
  • ModelService
  • PredictionService
  • ProductService
  • ServingConfigService
  • UserEventService

Fehlertypen

Dieser Abschnitt enthält Definitionen für Fehlertypen, die in Ihren Logs auftreten können:

  • MISSING_FIELD: Ein erforderlicher Feldwert ist nicht festgelegt. Bei einem Katalogelement fehlt beispielsweise der Titel.
  • INVALID_TIMESTAMP: Der Zeitstempel ist ungültig, z. B. zu weit in der Zukunft oder falsch formatiert.
  • FIELD_VALUE_TOO_SMALL: Der Wert im Feld liegt unter dem erforderlichen Minimum, z. B. ein negativer Preis.
  • INCORRECT_JSON_FORMAT: Die JSON-Datei in der Anfrage ist falsch formatiert, z. B. eine fehlende Klammer {.
  • INVALID_LANGUAGE_CODE: Der Sprachcode ist falsch formatiert.
  • FIELD_VALUE_EXCEEDED: Der Wert in dem Feld liegt über dem zulässigen Maximum.
  • INVALID_RESOURCE_ID: Die Ressourcen-ID ist ungültig. Beispielsweise ein nicht vorhandenes catalog_id im Ressourcennamen.
  • FIELD_SIZE_EXCEEDED: Die Anzahl der Einträge im Feld überschreitet das maximale Limit.
  • UNEXPECTED_FIELD: In einem Feld, das leer sein sollte, ist ein Wert vorhanden, z. B. eine Transaktion zum Aufrufen einer Detailseite.
  • INVALID_FORMAT: Das Feld ist nicht richtig formatiert, z. B. ein ungültiger String.
  • RESOURCE_ALREADY_EXISTS: Sie haben versucht, eine bereits vorhandene Ressource zu erstellen, z. B. ein zuvor erstelltes Katalogelement.
  • INVALID_API_KEY: Der API-Schlüssel stimmt nicht mit dem Projekt in Ihrer Anfrage überein.
  • INSUFFICIENT_PERMISSIONS: Sie sind nicht berechtigt, die Anfrage auszuführen. Dieser Fehler ist in der Regel auf das Fehlen einer erforderlichen IAM-Berechtigung zurückzuführen.
  • UNJOINED_WITH_CATALOG: Die Anfrage enthält eine ID für den Katalogelement, die nicht im Katalog vorhanden ist. Der Katalog muss auf dem neuesten Stand sein.
  • BATCH_ERROR: Die Anfrage enthält mehrere Fehler, zum Beispiel einen Inline-Import mit 10 Elementen, bei denen die Validierung aus verschiedenen Gründen fehlgeschlagen ist.
  • INACTIVE_RECOMMENDATION_MODEL: Sie haben ein Modell abgefragt, das nicht bereitgestellt werden kann.
  • ABUSIVE_ENTITY: Die mit der Anfrage verknüpfte Besucher-ID oder Nutzer-ID hat in kurzer Zeit eine ungewöhnliche Anzahl von Ereignissen gesendet.
  • FILTER_TOO_STRICT: Der Filter für Vorhersageanfragen blockiert alle Vorhersageergebnisse. Allgemein beliebte Artikel (nicht personalisiert) werden zurückgegeben, es sei denn, der Aufruf hat strictFiltering als "false" angegeben. In diesem Fall werden keine Artikel zurückgegeben. Einige häufige Gründe für dieses Problem:

    • Sie geben ein Filter-Tag an, das in Ihrem Katalog nicht vorhanden ist. Es kann bis zu einem Tag dauern, bis eine Aktualisierung des Filter-Tags wirksam wird.
    • Ihr Filter ist zu klein.

Messwerte zur Datenlast ansehen

So überwachen Sie die Aufnahme Ihres Katalogs und Ihrer Nutzerereignisdaten in der Google Cloud Console:

  1. Auf der Seite Monitoring können Sie sich Fehlermesswerte für Ihren Katalog und die Aufnahme von Nutzerereignisdaten ansehen.

    Zur Seite "Monitoring"

  2. Sobald das Datenuploadsystem erfolgreich ausgeführt wird, können Sie auf den Tabs Katalog und Ereignis auf der Seite Daten aggregierte Informationen zu Ihrem Katalog aufrufen, eine Vorschau Ihrer hochgeladenen Produkte ansehen und Visualisierungen Ihrer Messwerte zur Einbindung Ihrer Nutzerereignisse ansehen.

    Zur Seite "Daten"

  3. Folgen Sie der Anleitung unter Benachrichtigungen einrichten, um Benachrichtigungen zu erstellen, die Sie informieren, wenn bei Datenuploads etwas schiefgeht.

Katalogdaten – Zusammenfassung

Über den Tab Katalog auf der Seite Daten können Sie allgemeine Datenstatistiken für jeden Katalogzweig aufrufen. Auf dieser Seite wird angezeigt, wie viele Produkte Sie importiert haben, wie viele auf Lager sind und wann Sie zuletzt Produkte für jeden Produktkatalogzweig importiert haben.

Sie können auch eine Vorschau der hochgeladenen Katalogelemente anzeigen und nach Produktfeldern filtern.

Sie können Daten in verschiedene Zweige importieren, um Empfehlungen oder Retail Search-Ergebnisse bereitzustellen und als Vorschau anzusehen. Wenn Sie sich beispielsweise auf eine Feiertagsvorbereitung vorbereiten möchten, können Sie neue Katalogdaten in einen nicht standardmäßigen Branch hochladen und dafür sorgen, dass die Einzelhandelsergebnisse korrekt generiert werden, bevor Sie sie auf Ihrer Website veröffentlichen.

Statistiken zur Nutzerereignisaufnahme

Für jede Art von Nutzerereignis sehen Sie auf dem Tab Ereignis, wie viele davon Sie aufgezeichnet haben, wie viele davon nicht mit einem Produkt verknüpft wurden (nicht verknüpfte Ereignisse) und wie sich die Zahlen von denen vorheriger Zeiträume unterscheiden. Sie können einen voreingestellten Zeitraum auswählen oder einen benutzerdefinierten Zeitraum eingeben.

Im Messwertdiagramm werden die im Zeitverlauf aufgenommenen Nutzerereignisse angezeigt, die Sie nach Nutzerereignistyp filtern können.

Datenqualitätsmesswerte

Auf der Seite Datenqualität sehen Sie Messwerte, die die Prozentsätze der Produkte und Nutzerereignisse zeigen, die den empfohlenen Datenqualitätsstandards für Retail Search entsprechen. Auf dieser Seite können Sie prüfen, welche Daten Sie importieren oder aktualisieren müssen, um die Qualität der Suchergebnisse zu verbessern und Suchleistungsstufen freizuschalten.

Weitere Informationen zu Suchleistungsstufen und zum Prüfen der Qualität der Daten finden Sie unter Suchleistungsstufen aktivieren.

Eine Liste aller Messwerte zur Katalogdatenqualität finden Sie unter Messwerte zur Katalogdatenqualität.

Alle Anforderungen und Empfehlungen zu Nutzerereignissen für Empfehlungen und Retail Search finden Sie unter Anforderungen und Best Practices für Nutzerereignisse.

Nicht verknüpfte Ereignisse

Wenn sich ein Nutzerereignis oder eine API-Anfrage auf ein Produkt bezieht, das nicht in Retail hochgeladen wurde, ist es ein nicht verknüpftes Ereignis. Nicht verknüpfte Nutzerereignisse werden weiterhin protokolliert und nicht verknüpfte Anfragen werden verarbeitet. Beide können jedoch nicht verwendet werden, um das Modell für zukünftige Vorhersagen zu optimieren. Aus diesem Grund sollten Sie gewährleisten, dass der Prozentsatz der nicht geloggten Ereignisse sowohl für Nutzerereignisse als auch für Vorhersageanfragen sehr niedrig ist.

Sie können den Prozentsatz der nicht verbundenen Nutzerereignisse auf dem Tab Ereignis auf der Seite Daten einsehen.

API-Fehler

Sie können sich ein Diagramm der API-Fehler im Zeitverlauf ansehen, das nach Methodenname sortiert ist. Klicken Sie dazu in der Schaltflächenleiste der Seite Monitoring auf API-Messwerte ansehen.

API-Methodenaktivität überwachen

Visualisierungen von Traffic, Fehlern und Latenz nach API-Methode finden Sie auf der Seite Monitoring. Sie können einen voreingestellten Zeitraum auswählen oder einen benutzerdefinierten Zeitraum eingeben.

So rufen Sie weitere Details zu den einzelnen Grafiken auf:

  • Klicken Sie unter einem Diagramm auf einen Methodennamen, um ihn im Diagramm zu isolieren.
  • Bewegen Sie den Mauszeiger über eine Grafik, um ein Callout mit jeder Methode und ihren Werten zu diesem Zeitpunkt anzuzeigen.
  • Klicken Sie auf einen beliebigen Abschnitt des Diagramms und ziehen Sie ihn, um den Zeitraum zu heranzoomen.

Nächste Schritte