Surveiller et résoudre des problèmes

Cette page explique comment obtenir des informations sur les erreurs qui se sont produites dans les importations de catalogues et d'événements utilisateur, ainsi que dans d'autres opérations d'API Vertex AI Search pour le commerce.

Pour obtenir de l'aide sur la configuration des alertes, consultez Configurer des alertes Cloud Monitoring.

Présentation

En fournissant des informations de catalogue précises et des événements utilisateur L'API est importante pour obtenir des résultats de meilleure qualité. La surveillance et la compréhension de la source des erreurs vous aident à détecter et à corriger les erreurs éventuelles sur votre site.

Afficher les erreurs d'intégration agrégées

Afficher les erreurs agrégées générées par vos processus d'importation de données de prédiction ou de recherche, utilisez l'API Monitoring .

Cette page affiche toutes les erreurs concernant l'API Vertex AI Search pour le commerce. Vous pouvez afficher les erreurs liées au catalogue de produits, aux événements utilisateur recommandations, prédictions, résultats de recherche et des modèles de ML. Le système consigne également les erreurs d'importation, telles que la présence d'une ligne incorrecte dans votre fichier Cloud Storage. Le système consigne jusqu'à 100 erreurs par fichier d'importation. Vous pouvez définir la période d'affichage des erreurs et les filtrer en fonction du type d'erreur.

Vous pouvez cliquer sur une erreur pour afficher les journaux associés dans Cloud Logging.

Vous pouvez ouvrir des journaux d'erreur individuels en développant ce journal. Les journaux d'erreurs fournissent plus de détails sur la requête, notamment les charges utiles de la requête et de la réponse, ainsi que les détails de l'erreur. Ces informations peuvent vous aider à déterminer l'emplacement de l'appel de méthode erroné sur votre site.

Pour les erreurs JSON non valides, vous pouvez obtenir plus d'informations sur le problème en développant le champ status.

Afficher l'état d'une opération d'intégration spécifique

Vous pouvez consulter l'état d'une opération d'intégration spécifique dans la Fenêtre État de l'activité:

  1. Accédez à Données > de la console Search for Retail.

    Accéder à la page "Données"

  2. Cliquez sur État de l'activité.

    La fenêtre État de l'activité indique l'état des opérations de longue durée sur votre catalogue de produits, les événements utilisateur et les commandes.

    Dans cette fenêtre, vous pouvez examiner les erreurs pour des opérations d'intégration spécifiques.

  3. Cliquez sur Afficher les journaux dans la colonne "Détails" de n'importe quelle opération avec une erreur pour inspecter ses fichiers journaux dans Cloud Logging.

Afficher les journaux dans Cloud Logging

Pour ouvrir vos fichiers journaux directement dans Cloud Logging, utilisez le code suivant : procédure. Vous devez disposer du rôle Lecteur de journaux (roles/logging.viewer) pour afficher les journaux.

  1. Accédez à l'explorateur de journaux dans la console Google Cloud. Accéder à l'explorateur de journaux

  2. Sélectionnez votre projet Vertex AI Search pour le commerce dans le sélecteur de projet.

  3. Cliquez sur le menu déroulant Ressource, puis sélectionnez API Consumed > Cloud Retail.

Pour en savoir plus sur l'explorateur de journaux, consultez Afficher les journaux à l'aide de l'explorateur de journaux

Par exemple, ce lien ouvre les journaux de toutes les erreurs Vertex AI Search pour le commerce dans le depuis une heure:

Ouvrir les journaux Vertex AI Search pour le commerce

Pour configurer les journaux d'API écrits, consultez Configurez Logging.

Configurer la journalisation

Vous pouvez configurer les journaux de service à écrire dans Logging. La configuration de la journalisation permet de définir les niveaux de gravité écrire des journaux, activer ou désactiver la journalisation et remplacer les paramètres de journalisation par défaut pour des services spécifiques.

Chaque requête API envoyée par un utilisateur final peut générer une entrée de journalisation. Une entrée contient des informations telles que la méthode API, la date à laquelle elle a été appelée, la réponse le code, ainsi que les corps de requête et de réponse. Configuration de journalisation d'un projet spécifie les types de journaux générés par l'API dans lesquels Logging, avec la possibilité de spécifier de manière précise la journalisation pour des services d'API spécifiques.

Pour mettre à jour les configurations de journalisation, vous avez besoin de l'éditeur Vertex AI Search pour le commerce rôle de ressource.

Vous pouvez utiliser la console ou l'API LoggingConfig pour configurer Logging.

Console

Pour mettre à jour les configurations de journalisation dans la console, procédez comme suit:

  1. Accédez à la page Monitoring de la console Search for Retail.

    Accéder à la page "Surveillance"

  2. Cliquez sur Configuration de la journalisation.

  3. Pour définir une configuration de journalisation globale, sélectionnez un niveau de journalisation. Si vous sélectionnez LOG_ALL, saisissez également un taux d'échantillonnage des journaux ayant abouti.

  4. Pour définir une configuration au niveau du service, sélectionnez un service auquel et sélectionnez son niveau de journalisation. Ce paramètre remplace les paramètres la configuration de la journalisation.

curl

Pour mettre à jour les configurations de journalisation à l'aide de l'API, utilisez LoggingConfig. ressource. Consultez la documentation de référence de l'API LoggingConfig.

  1. Pour afficher la configuration de journalisation actuelle, utilisez loggingConfig.Get.

    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 : ID de votre projet.
  2. Pour mettre à jour la configuration de journalisation, utilisez le loggingConfig.Patch . Pour en savoir plus, consultez la documentation de référence de l'API LoggingConfig.

    Cet exemple utilise loggingConfig.Patch pour définir la journalisation globale la configuration sur LOG_WARNINGS_AND_ABOVE. Elle définit également deux niveaux de service configurations: CatalogService est défini sur LOG_WARNINGS_AND_ABOVE et ControlService est défini sur LOG_ALL.

    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"
                }
            }
          ]
        }'
    

Niveaux de journalisation

Seuls les journaux présentant certains niveaux de gravité sont écrits dans Logging. La les paramètres de niveau de journalisation déterminent quels journaux générés par une méthode API obtiennent écrites dans Logging.

Si aucune configuration de journalisation au niveau du service n'est définie pour une méthode API, la classe du niveau de journalisation est utilisé.

Le paramètre de niveau de journalisation par défaut est LOG_WARNINGS_AND_ABOVE.

Le champ logging_level accepte les valeurs suivantes:

  • LOGGING_DISABLED: aucun journal écrit.
  • LOG_ERRORS_AND_ABOVE: ne consigne que les erreurs.
  • LOG_WARNINGS_AND_ABOVE: ne consigne que les erreurs et les avertissements.
  • LOG_ALL: tous les journaux sont consignés, y compris les journaux qui ont réussi, tels que les journaux INFO.

Taux d'échantillonnage des journaux ayant abouti

Si vous définissez le paramètre de niveau de journalisation sur LOG_ALL, mais que vous ne souhaitez pas consigner toutes les réussi, vous pouvez spécifier un taux d'échantillonnage. Par exemple, vous pouvez décider pour surveiller régulièrement les journaux afin de confirmer la réussite de l'opération, ou pour consulter une pourcentage de journaux réussis. La spécification d'un taux d'échantillonnage peut vous y aider. sans écrire un grand volume d'entrées de journal INFO dans Logging, ce qui peut entraîner des coûts supplémentaires pour Logging.

Pour spécifier un taux d'échantillonnage, définissez info_log_sample_rate sur une valeur flottante valide supérieur à 0 et inférieur ou égal à 1. Le taux d'échantillonnage détermine la probabilité qu'un journal INFO soit écrit dans Logging. La valeur par défaut la valeur est 1 (tous les journaux INFO sont écrits).

Configurations de niveau de service

Vous pouvez définir des configurations de journalisation pour des services spécifiques. Cette opération remplace de journalisation globale pour ce service. Par exemple, vous pouvez choisir niveau de journalisation défini sur LOG_WARNINGS_AND_ABOVE, mais définissez niveau de journalisation du service UserEventService sur LOG_ALL pour pouvoir vérifier pour réussir l'intégration d'événements utilisateur.

Utilisez l'objet ServiceLoggingLevel pour définir des niveaux de journalisation précis.

Le champ service_name accepte les valeurs suivantes:

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

Types d'erreurs

Cette section fournit les définitions des types d'erreurs qui peuvent apparaître dans votre journaux:

  • MISSING_FIELD : la valeur d'un champ obligatoire n'est pas renseignée. Par exemple : le titre d'un élément du catalogue est vide.
  • INVALID_TIMESTAMP : l'horodatage n'est pas valide. Par exemple : la date est trop éloignée dans le futur, ou le format est incorrect.
  • FIELD_VALUE_TOO_SMALL : la valeur du champ est inférieure à la valeur minimale requise. Par exemple, un prix négatif.
  • INCORRECT_JSON_FORMAT : le format du fichier JSON de la requête est incorrect. Par exemple, il manque une accolade {.
  • INVALID_LANGUAGE_CODE : le format du code de langue est incorrect.
  • FIELD_VALUE_EXCEEDED : la valeur du champ est supérieure à la valeur maximale autorisée.
  • INVALID_RESOURCE_ID : l'ID de la ressource n'est pas valide ; par exemple, un catalog_id inexistant dans le nom de la ressource.
  • FIELD_SIZE_EXCEEDED : le nombre d'entrées du champ dépasse la limite autorisée.
  • UNEXPECTED_FIELD : un champ qui doit rester vide contient une valeur. Par exemple : une transaction pour un événement d'affichage de la page des détails.
  • INVALID_FORMAT : le format du champ est incorrect. Par exemple : le format d'une chaîne n'est pas valide.
  • RESOURCE_ALREADY_EXISTS : vous avez essayé de créer une ressource déjà existante, telle qu'un élément du catalogue créé précédemment.
  • INVALID_API_KEY : la clé API ne correspond pas au projet indiqué dans votre requête.
  • INSUFFICIENT_PERMISSIONS : vous ne disposez pas des autorisations nécessaires pour exécuter la requête. Cette erreur est généralement liée à l'absence d'une autorisation IAM requise.
  • UNJOINED_WITH_CATALOG : la requête inclut un ID d'élément de catalogue qui n'existe pas dans le catalogue. Assurez-vous que celui-ci est à jour.
  • BATCH_ERROR : la requête contient plusieurs erreurs. Par exemple : la validation d'une importation intégrée comprenant 10 éléments a échoué pour plusieurs raisons.
  • INACTIVE_RECOMMENDATION_MODEL : vous avez interrogé un modèle qui ne peut pas être utilisé pour l'inférence.
  • ABUSIVE_ENTITY : l'ID de visiteur ou d'utilisateur associé à la requête a envoyé un nombre anormal d'événements dans un court laps de temps.
  • FILTER_TOO_STRICT : le filtre de requête de prédiction a bloqué tous les résultats de prédiction. Les éléments populaires génériques (non personnalisés) sont renvoyés, sauf si l'appel spécifie strictFiltering comme "false", auquel cas aucun élément n'est renvoyé. Voici quelques-unes des raisons courantes de ce problème :

    • Vous spécifiez un tag de filtre qui n'existe pas dans votre catalogue. Un délai d'un jour peut être nécessaire pour que la mise à jour du tag de filtre soit prise en compte.
    • Votre filtre est trop restreint.

Afficher les métriques de chargement de données

Pour surveiller votre catalogue et l'ingestion de données d'événements utilisateur dans la console Google Cloud, procédez comme suit:

  1. Affichez les métriques d'erreur pour votre catalogue et l'ingestion de données d'événements utilisateur sur la Surveillance.

    Accéder à la page "Surveillance"

  2. Une fois votre système d'importation de données opérationnel, utilisez le les onglets Catalogue et Événement de la page Données pour afficher les données agrégées des informations sur votre catalogue, prévisualiser les produits que vous avez importés de vos métriques d'intégration d'événements utilisateur.

    Accéder à la page "Données"

  3. Pour créer des alertes qui vous avertissent en cas de problème avec vos données les importations, suivez les procédures décrites dans Configurer des alertes Cloud Monitoring.

Résumé des données du catalogue

Utilisez l'onglet Catalogue de la page Données pour afficher les statistiques de haut niveau de chaque branche du catalogue. Cette page indique le nombre de produits que vous avez importés, le nombre de produits en stock et la date de la dernière importation de produits pour chaque branche du catalogue de produits.

Vous pouvez également afficher un aperçu des articles du catalogue que vous avez importés, puis filtrer les résultats en fonction des champs du produit.

Vous pouvez importer des données dans différentes branches pour les prévisualiser et les prévisualiser des recommandations ou des résultats de recherche. Par exemple : pour préparer les fêtes de fin d'année, vous pouvez importer de nouvelles données de catalogue branche par défaut et s'assurer que les résultats de Vertex AI Search pour le commerce sont générés correctement avant de les mettre en ligne sur votre site Web.

Statistiques liées à l'enregistrement des événements utilisateur

Pour chaque type d'événement utilisateur, vous pouvez consulter dans l'onglet Événement le nombre d'enregistrements, le nombre d'enregistrements qui n'ont pas pu être associés à un produit (événements non associés). et les différences entre les chiffres par rapport aux périodes précédentes. Vous pouvez sélectionner une période prédéfinie ou saisir une période personnalisée.

Le graphique de métriques affiche les événements utilisateur ingérés au fil du temps, que vous pouvez filtrer par type d'événement utilisateur.

Métriques sur la qualité des données

Sur la page Qualité des données vous pouvez consulter des métriques indiquant les pourcentages de produits et d'événements utilisateur qui respectent les normes recommandées en matière de qualité des données pour la recherche. Cette page vous permet d'identifier les données que vous devez importer ou mettre à jour afin de améliorer la qualité des résultats de recherche et accéder à différents niveaux de performances.

Pour plus d'informations sur les niveaux de performances de la recherche et sur la vérification de la qualité des vos données, consultez Déverrouiller les niveaux de performances de recherche.

Pour obtenir la liste de toutes les métriques de qualité des données du catalogue, consultez Cataloguer les métriques de qualité des données.

Pour toutes les exigences et recommandations concernant les événements utilisateur des recommandations et de la recherche, consultez Exigences et bonnes pratiques concernant les événements utilisateur.

Événements non associés

Lorsqu'un événement utilisateur ou une requête API fait référence à un produit importé dans Vertex AI Search pour le commerce, il s'agit d'un événement non joint. Les événements utilisateur non associés sont toujours consignés et les requêtes non associées sont traitées, mais aucune ne peut être utilisée pour améliorer davantage le modèle en vue des prédictions futures. Par conséquent, vous devez vous assurer que le pourcentage d'événements non consignés est très faible pour les événements utilisateur et les requêtes de prédiction.

Vous pouvez consulter le pourcentage d'événements utilisateur non associés dans l'onglet Événement de la page Données :

Erreurs d'API

Vous pouvez afficher un graphique des erreurs d'API au fil du temps, affiché par nom de méthode, par en cliquant sur Afficher les métriques de l'API dans la barre de boutons Page Surveillance.

Surveiller l'activité de la méthode API

Pour visualiser le trafic, les erreurs et la latence par méthode API, accédez à la Page Surveillance. Vous pouvez sélectionner une période prédéfinie ou saisir une période personnalisée.

Pour afficher plus de détails sur chaque graphique, procédez comme suit :

  • Sous un graphique, cliquez sur un nom de méthode pour l'isoler dans le graphique.
  • Passez la souris sur un graphique pour afficher une légende avec chaque méthode et ses valeurs à ce moment précis.
  • Cliquez sur une section du graphique et faites-la glisser pour effectuer un zoom avant sur cette période.

Étape suivante