Dépannage des connecteurs

Utilisez les informations de dépannage pour identifier et résoudre les problèmes courants qui peuvent survenir lors de l'utilisation de Connector Hub.

Reportez-vous également à Problèmes connus pour Connector Hub.

Aucune donnée n'est transférée

Résoudre les problèmes liés au déplacement de données via des connecteurs.

Le connecteur ne déplace pas les données. Par exemple, reportez-vous à Scénarios du hub de connecteurs.

Cause : les données n'existent pas

La source ne contient pas de données correspondant à la requête dans la configuration source du connecteur.

Pour savoir si des données existent au niveau de la source, effectuez l'une des opérations suivantes :

Solution : Mettre à jour le connecteur

Modifiez la configuration du service source pour indiquer les données existantes. Reportez-vous à Mise à jour d'un connecteur.

Cause : erreur de niveau de service

Une erreur au niveau du service source, du service cible ou du service Connector Hub empêche le déplacement de données.

Pour savoir si une erreur de niveau de service existe, effectuez l'une des opérations suivantes :

  • Obtenez des journaux de service pour le connecteur. (Si nécessaire, activez d'abord les journaux.) Voici un exemple de message de journal indiquant une erreur de niveau service :
    Connector run failed due to <type> error, Error Code : XXX <exception>
  • Affichez les graphiques de mesure suivants pour le connecteur :
    • Erreurs au niveau de la source
    • Erreurs au niveau de la cible
    • Erreurs Connector Hub

Solution : Mettre à jour le connecteur

Modifiez la configuration du service source ou du service cible. Reportez-vous à Mise à jour d'un connecteur.

Solution : Contactez le support technique

Si 5xx ou -1 apparaît dans Erreurs de Connector Hub, contactez le support technique. Reportez-vous à Obtention d'aide et contact avec le support technique.

Cause : autorisation manquante

Vous n'êtes pas autorisé à écrire dans le service cible.

Pour savoir si l'autorisation est manquante, obtenez des journaux de service pour le connecteur. (Si nécessaire, activez d'abord les journaux.) Voici un exemple de message de journal indiquant une autorisation manquante :

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

Solution : obtenir l'autorisation

Assurez-vous que vous disposez d'une autorisation, soit via la stratégie par défaut proposée lors de la création ou de la mise à jour du connecteur, soit via une stratégie reposant sur un groupe. Reportez-vous à Authentification et autorisation.
Remarque

La propagation des stratégies par défaut acceptées dans les régions autres que votre région d'origine peut prendre quelques minutes. Le connecteur ne déplace pas les données jusqu'à ce que les stratégies soient propagées.

Cause : la charge utile ne correspond pas à la configuration de la fonction

La charge utile renvoyée par la tâche de fonction ne correspond pas à l'en-tête configuré dans la fonction utilisée par la tâche de fonction. Par exemple, une charge utile avec un format JSON non valide est renvoyée par une fonction avec la configuration d'en-tête suivante.

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

Ce problème est indiqué par le message d'erreur Expected JSON response from function, but received a different type

Solution : reconfigurer la fonction

Modifiez la configuration de l'en-tête ou mettez à jour la fonction pour renvoyer une charge utile JSON valide.

Désactivation des motifs inconnus

Dépannage d'un connecteur désactivé.

Le statut d'un connecteur est Deactivated et vous ne l'avez pas désactivé.

Quelqu'un a désactivé le connecteur

Le connecteur a été désactivé par quelqu'un d'autre :

  • Un autre utilisateur de votre organisation
  • Oracle Cloud Infrastructure

    Pour certaines conditions de panne, un connecteur en panne continue est désactivé automatiquement par l'équipe de service d'Oracle Cloud Infrastructure. Une telle défaillance continue à long terme peut indiquer une configuration non valide de la source ou de la cible du connecteur.

Réactiver le connecteur

  1. Mettez à jour le connecteur pour garantir une configuration valide de sa source et de sa cible.
  2. (Facultatif) Pour obtenir des détails sur le flux de données de la source d'un connecteur vers sa cible, activez les journaux du connecteur.
  3. Réactivez le connecteur.
  4. Vérifiez que le connecteur déplace correctement les données en recherchant les résultats attendus au niveau du service cible.

Annonce : connecteur désactivé

Une annonce de console indique Connecteur désactivé.

Cause : pour certaines conditions de panne, un connecteur en panne continue est désactivé automatiquement par l'équipe de service d'Oracle Cloud Infrastructure. Une telle défaillance continue à long terme peut indiquer une configuration non valide de la source ou de la cible du connecteur.

Réactiver le connecteur

  1. Mettez à jour le connecteur pour garantir une configuration valide de sa source et de sa cible.
  2. (Facultatif) Pour obtenir des détails sur le flux de données de la source d'un connecteur vers sa cible, activez les journaux du connecteur.
  3. Réactivez le connecteur.
  4. Vérifiez que le connecteur déplace correctement les données en recherchant les résultats attendus au niveau du service cible.

Impossible de voir la requête en mode de base

Résolvez les problèmes liés à l'affichage de la requête en mode Basic dans la console.

La console n'autorise pas la sélection du mode Basic après la modification de la requête en mode Advanced.

Cause : la requête est trop complexe

La requête inclut un ou plusieurs des éléments suivants non pris en charge en mode de base :

  • Opérateur OR (sauf avec les filtres basés sur un type lorsque vous utilisez uniquement des journaux d'audit)
  • Fonctions (par exemple : isNull())
  • select
  • summarize

Solution : Mettre à jour la requête

Mettez à jour la requête afin qu'elle ne contienne que des éléments pris en charge en mode de base :

  • Journaux d'audit uniquement : les filtres reposant sur un même type peuvent utiliser l'opérateur OR. Les autres filtres doivent utiliser l'opérateur AND.
    Exemple :
    ((type = value1 OR type = value2) AND field = value3 AND field1 = value4)
  • Toute combinaison de journaux (journaux de service, journaux personnalisés et journaux d'audit) : les filtres sont liés par l'opérateur AND.
    Exemple :
    (field = value AND field1 != value1)

Erreur : réponse JSON attendue de la fonction, mais un type différent a été reçu

Ce message d'erreur se produit lors de l'exécution d'un connecteur.

Cause : la charge utile ne correspond pas à la configuration de la fonction

La charge utile renvoyée par la tâche de fonction ne correspond pas à l'en-tête configuré dans la fonction utilisée par la tâche de fonction. Par exemple, une charge utile avec un format JSON non valide est renvoyée par une fonction avec la configuration d'en-tête suivante.

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

Ce problème est indiqué par le message d'erreur Expected JSON response from function, but received a different type

Solution : reconfigurer la fonction

Modifiez la configuration de l'en-tête ou mettez à jour la fonction pour renvoyer une charge utile JSON valide.

Comment savoir quand des problèmes se produisent ?

Identifiez les problèmes rencontrés avec les connecteurs.

Recherchez les indicateurs suivants de problèmes avec les connecteurs.

  • Actualisation des données pour un seul connecteur : recherche d'interruptions inattendues entre les déplacements de données.
    1. Ouvrez le menu de navigation et sélectionnez Analytiques et IA. Sous Messagerie, sélectionnez Hub de connecteurs.
    2. Choisissez un compartiment.
    3. Sélectionnez le nom du connecteur souhaité.
    4. Sous Resources, sélectionnez Metrics.
    5. Consultez le graphique de mesures Actualité des données.
  • Actualité des données sur les connecteurs : recherchez des intervalles inattendus entre les déplacements de données.
    1. Ouvrez le menu de navigation et sélectionnez Observation et gestion. Sous Monitoring, sélectionnez Mesures de service.
    2. Choisissez le compartiment contenant les connecteurs pour lesquels visualiser l'actualité des données.
    3. Pour Espace de noms de mesure, sélectionnez oci_service_connector_hub.

    4. Consultez les graphiques de mesures suivants :
      • Actualité des données
  • Source de journalisation : si le connecteur extrait les données d'un journal, il est possible qu'il tente d'extraire plus que la quantité maximale de données par connecteur par heure (1 Go). Les données du journal au niveau de la cible n'ont pas été distribuées si ce problème persiste au-delà de 24 heures (durée maximale de détection des données manquantes dans les transmissions précédentes par le connecteur). Pour déterminer si ce problème survient, créez des alarmes afin de surveiller les indicateurs suivants.

    Remarque

    Pour connaître les étapes de modification des requêtes d'alarme dans MQL, reportez-vous à Modification de l'expression MQL lors de la mise à jour d'une alarme.
    Indicateur (mesure) Requête d'alarme dans MQL, avec commentaires
    Données de plus de 12 ans (actualité des données)
    DataFreshness[1h].mean() > 43200000

    Commentaires :

    • La valeur 43200000 correspond au nombre de millisecondes dans 12 heures.
    • Ignorer les échecs occasionnels. Nous vous recommandons de définir le délai de déclenchement d'alarme sur 30 minutes ou plus. Avec cette configuration, l'alarme vous avertit uniquement lorsque plusieurs pannes consécutives surviennent au cours de la période indiquée.
    Erreur au niveau de la source (toute erreur) (erreurs au niveau de la source)
    ErrorsAtSource[15m].groupby(errorCode,connectorId).min() > 0

    Commentaires :

    • Ignorer les échecs occasionnels. Nous vous recommandons de définir le délai de déclenchement d'alarme sur 30 minutes ou plus. Avec cette configuration, l'alarme vous avertit uniquement lorsque plusieurs pannes consécutives surviennent au cours de la période indiquée.
    • Les résultats sont regroupés par code d'erreur et connecteur.
    Erreurs internes au niveau de la source qui ne sont pas résolues au bout de 15 minutes (5xx) (Erreurs au niveau de la source
    ErrorsAtSource[15m]{errorCode =~ "5*"}.groupby(connectorId).sum() > 0 && 
    ErrorsAtSource[15m].groupby(connectorId).min() > 0

    Commentaires :

    • Des erreurs internes peuvent indiquer un problème au niveau de la source, ce qui peut retarder la distribution des données.
    • Pour déclencher l'alarme à des intervalles plus courts, modifiez l'intervalle ([15 m]).
    • Ignorer les échecs occasionnels. Nous vous recommandons de définir le délai de déclenchement d'alarme sur 30 minutes ou plus. Avec cette configuration, l'alarme vous avertit uniquement lorsque plusieurs pannes consécutives surviennent au cours de la période indiquée.
    Erreurs de ralentissement au niveau de la source (429) (Erreurs au niveau de la source)
    ErrorsAtSource[15m]{errorCode = "429"}.groupby(connectorId).sum() >0 && 
    ErrorsAtSource[15m].groupby(connectorId).min() > 0

    Commentaires :

    • Afin d'obtenir plus d'informations sur les erreurs de ralentissement, reportez-vous aux limites documentées pour le service approprié.
    • Par exemple, pour connaître les erreurs de ralentissement liées à la source Streaming, reportez-vous à Limites relatives aux ressources Streaming. Le ralentissement au niveau de la source Streaming survient lorsqu'un connecteur tente de lire un flux de données à partir d'une partition, que d'autres appels vers la même partition sont également exécutés et que le nombre d'appels dépasse les limites de service.
    • Ignorer les échecs occasionnels. Nous vous recommandons de définir le délai de déclenchement d'alarme sur 30 minutes ou plus. Avec cette configuration, l'alarme vous avertit uniquement lorsque plusieurs pannes consécutives surviennent au cours de la période indiquée.
    Erreurs de communication de service au niveau de la source (-1) (Erreurs au niveau de la source
    ErrorsAtSource[15m]{errorCode = "-1"}.groupby(connectorId).sum() >0 && 
    ErrorsAtSource[15m].groupby(connectorId).min() > 0
    Erreur 404 à la source (Erreurs à la source)
    ErrorsAtSource[15m]{errorCode = "404"}.groupby(connectorId).sum() >0

    Commentaires :

    • Le connecteur ne peut pas accéder au journal ou il n'existe pas.
    • Assurez-vous qu'il existe des stratégies pour accéder au journal indiqué. Reportez-vous à Authentification et autorisation.
    • Vérifiez que le journal indiqué existe en le recherchant dans Logging.
    • Ignorer les échecs occasionnels. Nous vous recommandons de définir le délai de déclenchement d'alarme sur 30 minutes ou plus. Avec cette configuration, l'alarme vous avertit uniquement lorsque plusieurs pannes consécutives surviennent au cours de la période indiquée.
    Zéro (0) octets lus (lorsque des données sont attendues) (Ooctets lus à partir de la source)
    BytesReadFromSource[15m].groupby(connectorId).sum() == 0

    Commentaires :

    • Si des erreurs n'arrivent pas à la source, à la cible ou à la tâche, le journal peut ne pas exister. Vérifiez que le journal indiqué existe en le recherchant dans Logging.
    • Ignorer les échecs occasionnels. Nous vous recommandons de définir le délai de déclenchement d'alarme sur 30 minutes ou plus. Avec cette configuration, l'alarme vous avertit uniquement lorsque plusieurs pannes consécutives surviennent au cours de la période indiquée.