Fehlersuche bei Connectors

Mit den Informationen zur Fehlerbehebung können Sie allgemeine Probleme erkennen und beheben, die beim Arbeiten mit Connector Hub auftreten können.

Siehe auch Bekannte Probleme für Connector Hub.

Es werden keine Daten verschoben

Beheben Sie Probleme durch das Verschieben von Daten über Connectors.

Der Connector verschiebt keine Daten. Beispiele für Connectors finden Sie unter Connector Hub-Szenarios.

Ursache: Daten sind nicht vorhanden

Die Quelle enthält keine Daten, die mit der Abfrage in der Quellkonfiguration des Connectors übereinstimmen.

Um herauszufinden, ob Daten in der Quelle vorhanden sind, führen Sie einen der folgenden Schritte aus:

  • Servicelogs für den Connector herunterladen. (Falls erforderlich, aktivieren Sie zuerst Logs.) Im Folgenden finden Sie eine Beispiellogmeldung, die eine erfolgreiche Connector-Ausführung angibt, einschließlich der übertragenen Datenmenge:
    Service connector run succeeded - <number> messages (<number> bytes) written to target
  • Bei Quelllogs suchen Sie die Logs mit der Abfrage aus der Quellkonfiguration des Connectors.
  • Bei Quellmetriken fragen Sie die Metriken ab.
  • Fragen Sie für Quellstreams die Standard-Producer-Metriken des Streams ab.

Behebung: Connector aktualisieren

Ändern Sie die Konfiguration für den Quellservice, um vorhandene Daten anzugeben. Siehe Connector aktualisieren.

Ursache: Fehler auf Serviceebene

Ein Fehler beim Quellservice, Zielservice oder Connector Hub-Service verhindert das Verschieben von Daten.

Um herauszufinden, ob ein Service-Level-Fehler vorhanden ist, führen Sie einen der folgenden Schritte aus:

  • Servicelogs für den Connector herunterladen. (Falls erforderlich, aktivieren Sie zuerst Logs.) Im Folgenden finden Sie eine Beispielprotokollmeldung, die auf einen Fehler auf Serviceebene hinweist:
    Connector run failed due to <type> error, Error Code : XXX <exception>
  • Zeigen Sie die folgenden Metrikdiagramme für den Connector an:
    • Fehler bei Quelle
    • Fehler bei Ziel
    • Connector-Hubfehler

Behebung: Connector aktualisieren

Ändern Sie die Konfiguration für den Quellservice oder Zielservice. Siehe Connector aktualisieren.

Behebung: Wenden Sie sich an den Support

Wenn unter Connector-Hubfehler 5xx oder -1 angezeigt wird, wenden Sie sich an den Support. Siehe Hilfe erhalten und Support kontaktieren.

Ursache: Autorisierung fehlt

Sie haben keine Schreibberechtigung für den Zielservice.

Um herauszufinden, ob die Autorisierung fehlt, rufen Sie Servicelogs für den Connector ab. (Falls erforderlich, aktivieren Sie zuerst Logs.) Im Folgenden finden Sie eine Beispielprotokollmeldung, die auf fehlende Autorisierung hinweist:

Connector run failed due to <type> error, Error Code : 404 NotAuthorizedOrNotFound

Behebung: Autorisierung abrufen

Vergewissern Sie sich, dass Sie autorisiert sind, entweder über die Standard-Policy, der beim Erstellen oder Aktualisieren des Connectors angeboten wird, oder über eine gruppenbezogene Policy. Siehe Authentifizierung und Autorisierung.
Hinweis

Die Propagierung Ihrer akzeptierten Standard-Policys in Regionen, die nicht Ihre Hauptregion sind, kann einige Minuten dauern. Der Connector verschiebt erst Daten, wenn die Policys propagiert wurden.

Ursache: Payload stimmt nicht mit Funktionskonfiguration überein

Die von der Funktionsaufgabe zurückgegebene Payload stimmt nicht mit dem konfigurierten Header in der Funktion überein, die von der Funktionsaufgabe verwendet wird. Beispiel: Eine Payload mit ungültigem JSON wird von einer Funktion mit der folgenden Headerkonfiguration zurückgegeben.

headers={"Content-Type": "application/json"} 

Dieses Problem wird durch die Fehlermeldung Expected JSON response from function, but received a different type angegeben.

Abhilfe: Funktion neu konfigurieren

Ändern Sie entweder die Headerkonfiguration, oder aktualisieren Sie die Funktion, um eine gültige JSON-Payload zurückzugeben.

Deaktivierung für unbekannte Gründe

Beheben Sie Probleme mit einem deaktivierten Connector.

Der Status eines Connectors lautet Deactivated, und Sie haben ihn nicht deaktiviert.

Eine andere Person hat den Connector deaktiviert

Der Connector wurde von einer anderen Person deaktiviert:

  • Ein anderer Benutzer in Ihrer Organisation
  • Oracle Cloud Infrastructure

    Bei bestimmten Fehlerbedingungen wird ein Connector, der kontinuierlich ausfällt, vom Serviceteam bei Oracle Cloud Infrastructure automatisch deaktiviert. Ein solcher langfristiger kontinuierlicher Fehler kann auf eine ungültige Konfiguration der Quelle oder des Ziels des Connectors hinweisen.

Connector erneut aktivieren

  1. Aktualisieren Sie den Connector, um eine gültige Konfiguration seiner Quelle und seines Ziels sicherzustellen.
  2. (Optional) Um Details zum Datenfluss von der Quelle eines Connectors zum Ziel abzurufen, aktivieren Sie Logs für den Connector.
  3. Aktivieren Sie den Connector erneut.
  4. Vergewissern Sie sich, dass der Connector Daten erfolgreich verschiebt, indem Sie im Zielservice auf erwartete Ergebnisse prüfen.

Ankündigung: Connector deaktiviert

In einer Konsolenankündigung lautet der Status "Connector deaktiviert".

Ursache: Bei bestimmten Fehlerbedingungen wird ein Connector, der kontinuierlich ausfällt, vom Serviceteam bei Oracle Cloud Infrastructure automatisch deaktiviert. Ein solcher langfristiger kontinuierlicher Fehler kann auf eine ungültige Konfiguration der Quelle oder des Ziels des Connectors hinweisen.

Connector erneut aktivieren

  1. Aktualisieren Sie den Connector, um eine gültige Konfiguration seiner Quelle und seines Ziels sicherzustellen.
  2. (Optional) Um Details zum Datenfluss von der Quelle eines Connectors zum Ziel abzurufen, aktivieren Sie Logs für den Connector.
  3. Aktivieren Sie den Connector erneut.
  4. Vergewissern Sie sich, dass der Connector Daten erfolgreich verschiebt, indem Sie im Zielservice auf erwartete Ergebnisse prüfen.

Abfrage kann nicht im Grundmodus angezeigt werden

Beheben Sie Probleme beim Anzeigen der Abfrage im Basismodus in der Konsole.

Die Konsole lässt die Auswahl des Basismodus nicht zu, nachdem Sie die Abfrage im erweiterten Modus bearbeitet haben.

Ursache: Die Abfrage ist zu komplex

Die Abfrage enthält mindestens eines der folgenden Elemente, die im Basismodus nicht unterstützt werden:

  • Operator OR (mit Ausnahme von typbasierten Filtern, wenn Sie nur Auditlogs verwenden)
  • Funktionen (Beispiel: isNull())
  • select
  • summarize

Behebung: Abfrage aktualisieren

Aktualisieren Sie die Abfrage so, dass sie nur Elemente enthält, die im Basismodus unterstützt werden:

  • Nur Auditlogs: Typbasierte Filter können den Operator OR verwenden. Andere Filter müssen den Operator AND verwenden.
    Beispiel:
    ((type = value1 OR type = value2) AND field = value3 AND field1 = value4)
  • Beliebige Kombination von Logs (Servicelogs, benutzerdefinierte Logs und Auditlogs): Filter, die mit dem Operator AND verknüpft sind.
    Beispiel:
    (field = value AND field1 != value1)

Fehler: JSON-Antwort von Funktion erwartet, aber einen anderen Typ erhalten

Diese Fehlermeldung wird angezeigt, wenn ein Connector ausgeführt wird.

Ursache: Payload stimmt nicht mit Funktionskonfiguration überein

Die von der Funktionsaufgabe zurückgegebene Payload stimmt nicht mit dem konfigurierten Header in der Funktion überein, die von der Funktionsaufgabe verwendet wird. Beispiel: Eine Payload mit ungültigem JSON wird von einer Funktion mit der folgenden Headerkonfiguration zurückgegeben.

headers={"Content-Type": "application/json"} 

Dieses Problem wird durch die Fehlermeldung Expected JSON response from function, but received a different type angegeben.

Abhilfe: Funktion neu konfigurieren

Ändern Sie entweder die Headerkonfiguration, oder aktualisieren Sie die Funktion, um eine gültige JSON-Payload zurückzugeben.

Wie kann ich wissen, ob Probleme auftreten?

Ermitteln Sie, wann Probleme mit Connectors auftreten.

Prüfen Sie die folgenden Indikatoren für Probleme mit Connectors.

  • Datenaktualität für einen einzelnen Connector: Suchen Sie nach unerwarteten Zeitspannen zwischen Datenbewegungen.
    1. Öffnen Sie das Navigationsmenü , und wählen Sie Analysen und KI aus. Wählen Sie unter Messaging die Option Connector-Hub aus.
    2. Wählen Sie ein Compartment aus.
    3. Wählen Sie den Namen des gewünschten Connectors aus.
    4. Wählen Sie unter Ressourcen die Option Metriken aus.
    5. Prüfen Sie das Metrikdiagramm Datenaktualität.
  • Datenaktualität über Connectors hinweg: Suchen Sie nach unerwarteten Zeitspannen zwischen Datenbewegungen.
    1. Öffnen Sie das Navigationsmenü , und wählen Sie Observability and Management aus. Wählen Sie unter Monitoring die Option Servicemetriken aus.
    2. Wählen Sie das Compartment mit den Connectors aus, für die Sie die Datenaktualität anzeigen möchten.
    3. Wählen Sie unter Metrik-Namespace die Option oci_service_connector_hub aus.

    4. Prüfen Sie die folgenden Metrikdiagramme:
      • Datenaktualität
  • Loggingquelle: Wenn der Connector Daten aus einem Log abruft, versucht er möglicherweise, die bei stündlichem Abruf maximal zulässige Datenmenge pro Connector (1 GB) zu überschreiten Logdaten am Ziel werden dann nicht bereitgestellt, wenn dieses Problem in früheren Übertragungen durch den Connector länger als 24 Stunden auftritt. (Die maximale Dauer für den Abfangen fehlender Daten in früheren Übertragungen durch den Connector). Um zu bestimmen, ob dieses Problem vorliegt, erstellen Sie Alarme, die die folgenden Indikatoren überwachen.

    Hinweis

    Schritte zum Bearbeiten von Alarmabfragen in MQL finden Sie unter MQL-Ausdruck beim Aktualisieren eines Alarms bearbeiten.
    Indikator (Metrik) Alarmabfrage in MQL, mit Kommentaren
    Daten älter als 12 Stunden (Datenaktualität)
    DataFreshness[1h].mean() > 43200000

    Kommentare:

    • Der Wert 43200000 ist die Anzahl der Millisekunden in 12 Stunden.
    • Gelegentliche Fehler ignorieren. Es wird empfohlen, die Alarmtriggerverzögerung auf mindestens 30 Minuten festzulegen. Bei dieser Konfiguration warnt der Alarm Sie nur, wenn mehrere aufeinander folgende Fehler im angegebenen Zeitraum auftreten.
    Fehler bei Quelle (beliebiger Fehler) (Fehler bei Quelle)
    ErrorsAtSource[15m].groupby(errorCode,connectorId).min() > 0

    Kommentare:

    • Gelegentliche Fehler ignorieren. Es wird empfohlen, die Alarmtriggerverzögerung auf mindestens 30 Minuten festzulegen. Bei dieser Konfiguration warnt der Alarm Sie nur, wenn mehrere aufeinander folgende Fehler im angegebenen Zeitraum auftreten.
    • Die Ergebnisse werden nach Fehlercode und Connector gruppiert.
    Interne Fehler bei der Quelle, die nicht nach 5 Minuten behoben werden (Fehler bei Quelle)
    ErrorsAtSource[15m]{errorCode =~ "5*"}.groupby(connectorId).sum() > 0 && 
    ErrorsAtSource[15m].groupby(connectorId).min() > 0

    Kommentare:

    • Interne Fehler können auf ein Problem bei der Quelle hinweisen, das die Bereitstellung von Daten verzögern könnte.
    • Um den Alarm in kürzeren Intervallen auszulösen, ändern Sie das Intervall ([15m]).
    • Gelegentliche Fehler ignorieren. Es wird empfohlen, die Alarmtriggerverzögerung auf mindestens 30 Minuten festzulegen. Bei dieser Konfiguration warnt der Alarm Sie nur, wenn mehrere aufeinander folgende Fehler im angegebenen Zeitraum auftreten.
    Drosselungsfehler bei Quelle (429) (Fehler bei Quelle
    ErrorsAtSource[15m]{errorCode = "429"}.groupby(connectorId).sum() >0 && 
    ErrorsAtSource[15m].groupby(connectorId).min() > 0

    Kommentare:

    • Weitere Informationen zu Throttling-Fehlern finden Sie unter den dokumentierten Limits für den jeweiligen Service.
    • Beispiel: Informationen zu Throttling-Fehlern im Zusammenhang mit der Streaming-Quelle finden Sie unter Limits für Streaming-Ressourcen. Throttling in der Streaming-Quelle tritt auf, wenn ein Connector versucht, einen Stream aus einer Partition zu lesen, andere Aufrufe an dieselbe Partition auftreten und die Anzahl der Aufrufe die Servicelimits überschreitet.
    • Gelegentliche Fehler ignorieren. Es wird empfohlen, die Alarmtriggerverzögerung auf mindestens 30 Minuten festzulegen. Bei dieser Konfiguration warnt der Alarm Sie nur, wenn mehrere aufeinander folgende Fehler im angegebenen Zeitraum auftreten.
    Servicekommunikationsfehler bei Quelle (-1) (Fehler bei Quelle)
    ErrorsAtSource[15m]{errorCode = "-1"}.groupby(connectorId).sum() >0 && 
    ErrorsAtSource[15m].groupby(connectorId).min() > 0
    Fehler 404 bei Quelle (Fehler bei Quelle)
    ErrorsAtSource[15m]{errorCode = "404"}.groupby(connectorId).sum() >0

    Kommentare:

    • Der Connector kann nicht auf das Log zugreifen, oder es ist nicht vorhanden.
    • Stellen Sie sicher, dass Policys für den Zugriff auf das angegebene Log vorhanden sind. Siehe Authentifizierung und Autorisierung.
    • Vergewissern Sie sich, dass das angegebene Log vorhanden ist, indem Sie in Logging danach suchen.
    • Gelegentliche Fehler ignorieren. Es wird empfohlen, die Alarmtriggerverzögerung auf mindestens 30 Minuten festzulegen. Bei dieser Konfiguration warnt der Alarm Sie nur, wenn mehrere aufeinander folgende Fehler im angegebenen Zeitraum auftreten.
    Null (0) Byte gelesen (wenn Daten erwartet werden) (Byte aus Quelle gelesen)
    BytesReadFromSource[15m].groupby(connectorId).sum() == 0

    Kommentare:

    • Wenn in Quelle, Ziel oder Aufgabe kein Fehler auftreten, ist das Log möglicherweise nicht vorhanden. Vergewissern Sie sich, dass das angegebene Log vorhanden ist, indem Sie in Logging danach suchen.
    • Gelegentliche Fehler ignorieren. Es wird empfohlen, die Alarmtriggerverzögerung auf mindestens 30 Minuten festzulegen. Bei dieser Konfiguration warnt der Alarm Sie nur, wenn mehrere aufeinander folgende Fehler im angegebenen Zeitraum auftreten.