Révision des journaux et dépannage
L’extension data export fournit des journaux pour suivre les processus de collecte et de synchronisation des données.
Journaux
Les journaux sont disponibles dans le répertoire var/log
du serveur d’applications Commerce.
commerce-data-export.log
data-export-errors.log
saas-export.log
saas-export-errors.log
Si vous ne voyez pas les données attendues pour un service Adobe Commerce, utilisez les journaux d’erreur pour l’extension d’exportation des données afin de déterminer où le problème s’est produit. Vous pouvez également étendre les journaux avec des données supplémentaires pour le suivi et la résolution des problèmes. Voir Journalisation étendue.
Format du journal
Chaque enregistrement de journal possède la structure suivante.
[<log record datetime>] report.<log level>:
{
"feed": "<feed name>",
"operation": "<executed operation>",
"status": "<status of operation>",
"elapsed": "<time elaspsed from script run>",
"pid": "<proccess id who executed `operation`>",
"caller": "<who called this `operation`>"
} [] []
Le tableau suivant décrit les types d’opérations qui peuvent être enregistrés dans les journaux.
bin/magento saas:resync --feed=products
bin/magento cron:run --group=index
bin/magento cron:run --group=saas_data_exporter
(tout groupe cron "*_data_porter")bin/magento saas:resync --feed=categories
bin/magento cron:run --group=index
bin/magento cron:run --group=saas_data_exporter
(tout groupe cron "*_data_porter")Exemples de journalisation
Lors d’une synchronisation complète, la progression est suivie et consignée toutes les 30 secondes par défaut. Voici un exemple d’entrée de journal.
{
"feed": "prices",
"operation": "full sync",
"status": "Progress: 2/5, processed: 200, synced: 100",
"elapsed": "00:00:00 190 ms",
"pid": "12824",
"caller": "bin/magento saas:resync --feed=products"
}
Dans cet exemple, les valeurs status
fournissent des informations sur l’opération de synchronisation :
-
"Progress 2/5"
indique que 2 itérations sur 5 ont été terminées. Le nombre d’itérations dépend du nombre d’entités exportées. -
"processed: 200"
indique que 200 éléments ont été traités. -
"synced: 100"
indique que 100 éléments ont été envoyés à SaaS."synced"
ne doit pas être égal à"processed"
. Voici un exemple :"synced" < "processed"
signifie que la table des flux n’a pas détecté de modifications dans l’élément par rapport à la version synchronisée précédemment. Ces éléments sont ignorés lors de l’opération de synchronisation."synced" > "processed"
le même ID d’entité (par exemple,Product ID
) peut avoir plusieurs valeurs dans des portées différentes. Par exemple, un produit peut être affecté à cinq sites web. Dans ce cas, vous pouvez avoir "1 élément traité" et "5 éléments synchronisés".
code language-none |
---|
|
Affichage et dépannage des journaux avec New Relic
Si vous stockez des journaux Adobe Commerce dans New Relic, vous pouvez ajouter des règles d’analyse afin d’améliorer la lisibilité et l’expérience de requête.
-
Connectez-vous à New Relic.
-
Accédez à
Logs => Parsing
. -
Cliquez sur
Create parsing rule
. -
Configurez la règle d’analyse en ajoutant les valeurs suivantes.
-
Filtrage des journaux en fonction de NRQL
filePath LIKE '%commerce-data-export%.log'
-
Règle d’analyse
\[%{DATA:timestamp}\] report.%{DATA:logLevel} %{GREEDYDATA:feed:json}
-
Cet exemple ajoute une règle qui vous permet d’interroger les journaux New Relic par type de flux, opération, etc.
Exemple de chaîne de requête—feed.feed:"products" and feed.status:"Complete"
Dépannage
Si des données sont manquantes ou incorrectes dans les Services de commerce, vérifiez les journaux pour voir si un problème s’est produit pendant la synchronisation de l’instance Adobe Commerce vers la plateforme du service Commerce. Si nécessaire, utilisez la journalisation étendue pour ajouter des informations supplémentaires aux journaux à des fins de dépannage.
- commerce-data-export-errors.log - si une erreur s’est produite lors de la collecte de la phase
- saas-export-errors.log : si une erreur s’est produite lors de la transmission de la phase
Si des erreurs ne sont pas liées à la configuration ou à des extensions tierces, envoyez un ticket de support avec autant d’informations que possible.
Résolution des problèmes de synchronisation de catalogue resolvesync
Lorsque vous déclenchez une nouvelle synchronisation des données, la mise à jour des données peut prendre jusqu’à une heure pour être répercutée dans les composants de l’interface utilisateur, tels que les unités de recherche en direct et de recommandation. Si vous constatez toujours des incohérences entre votre catalogue et les données sur le storefront Commerce, ou si la synchronisation du catalogue a échoué, reportez-vous à ce qui suit :
Incohérence des données
- Affichez la vue détaillée du produit en question dans les résultats de la recherche.
- Copiez la sortie JSON et vérifiez que le contenu correspond à ce que vous avez dans le catalogue Commerce.
- Si le contenu ne correspond pas, apportez une modification mineure au produit de votre catalogue, comme l’ajout d’un espace ou d’un point.
- Attendez une nouvelle synchronisation ou déclenchez une nouvelle synchronisation manuelle.
Synchronisation non en cours
Si la synchronisation ne s’exécute pas selon un calendrier ou si rien n’est synchronisé, reportez-vous à cet article Base de connaissances .
Échec de la synchronisation
Si l’état de la synchronisation du catalogue est Failed, envoyez un ticket de support.
Journalisation étendue
Pour plus d’informations sur les journaux, vous pouvez utiliser des variables d’environnement afin d’étendre les journaux avec des données supplémentaires pour le suivi et la résolution des problèmes.
Le répertoire var/log/
contient deux fichiers journaux :
- commerce-data-export-errors.log - si une erreur s’est produite lors de la collecte de la phase
- saas-export-errors.log : si une erreur s’est produite lors de la transmission de la phase
Vous pouvez utiliser des variables d’environnement pour étendre les journaux avec des données supplémentaires pour le suivi et la résolution des problèmes.
Vérification de la payload du flux
Insérez la charge utile du flux dans le journal d’exportation SaaS en ajoutant la variable d’environnement EXPORTER_EXTENDED_LOG=1
lorsque vous resynchronisez le flux.
EXPORTER_EXTENDED_LOG=1 bin/magento saas:resync --feed=products
Une fois l’opération terminée, la charge utile du flux est disponible pour révision dans le journal d’exportation SaaS (var/.log/saas-export.log
).
Préserver la charge utile dans la table d’index du flux
Pour l’extension d’exportation de données SaaS Commerce (magento/module-data-exporter
) 103.3.0 et versions ultérieures, les flux d’exportation immédiats conservent uniquement les données minimales requises dans la table d’index. Les flux incluent tous les flux d’état de stock et de catalogue.
La conservation des données de payload dans la table d’index n’est pas recommandée dans les environnements de production, mais elle peut s’avérer utile dans un environnement de développement. Insérez la charge utile du flux dans l’index en ajoutant la variable d’environnement PERSIST_EXPORTED_FEED=1
lorsque vous resynchronisez le flux.
PERSIST_EXPORTED_FEED=1 bin/magento saas:resync --feed=products
Exécution du profileur pour résoudre les problèmes de performances lentes
Si le processus de réindexation d’un flux spécifique prend un temps déraisonnable, exécutez le profileur pour collecter des données supplémentaires qui peuvent s’avérer utiles à l’équipe d’assistance.
Exécutez le profileur en ajoutant la variable d'environnement EXPORTER_PROFILER=1
lorsque vous exécutez la commande reindex.
EXPORTER_PROFILER=1 bin/magento indexer:reindex catalog_data_exporter_products
Les données du profileur sont stockées dans le journal d’exportation des données (var/log/commerce-data-export.log
) au format suivant :
<Provider class name>, <# of processed entities>, <execution time im ms>, <memory consumption in Mb>