Überprüfen von Protokollen und Fehlerbehebung
Die data export-Erweiterung stellt Protokolle zum Nachverfolgen von Datenerfassungs- und Synchronisierungsprozessen bereit.
Protokolle
Protokolle sind im var/log
auf dem Commerce-Anwendungsserver verfügbar.
commerce-data-export.log
data-export-errors.log
saas-export.log
saas-export-errors.log
Wenn keine erwarteten Daten für einen Adobe Commerce-Service angezeigt werden, können Sie anhand der Fehlerprotokolle für die Datenexporterweiterung feststellen, wo das Problem aufgetreten ist. Außerdem können Sie Protokolle um zusätzliche Daten zur Nachverfolgung und Fehlerbehebung erweitern. Siehe Erweiterte Protokollierung.
Protokollformat
Jeder Protokolldatensatz weist die folgende Struktur auf.
[<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`>"
} [] []
In der folgenden Tabelle werden die Vorgangstypen beschrieben, die in den Protokollen aufgezeichnet werden können.
bin/magento saas:resync --feed=products
bin/magento cron:run --group=index
bin/magento cron:run --group=saas_data_exporter
(beliebige "*_data_Exporter“-Cron-Gruppe)bin/magento saas:resync --feed=categories
bin/magento cron:run --group=index
bin/magento cron:run --group=saas_data_exporter
(beliebige "*_data_Exporter“-Cron-Gruppe)Beispiele für die Protokollierung
Während einer vollständigen Neusynchronisierung wird der Fortschritt verfolgt und standardmäßig alle 30 Sekunden protokolliert. Im Folgenden finden Sie einen Beispiel-Protokolleintrag.
{
"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"
}
In diesem Beispiel geben die status
Informationen zum Synchronisierungsvorgang an:
-
"Progress 2/5"
zeigt an, dass zwei von fünf Iterationen abgeschlossen wurden. Die Anzahl der Iterationen hängt von der Anzahl der exportierten Entitäten ab. -
"processed: 200"
gibt an, dass 200 Elemente verarbeitet wurden. -
"synced: 100"
gibt an, dass 100 Artikel an SaaS gesendet wurden. Es wird erwartet, dass"synced"
nicht gleich"processed"
ist. Beispiel:"synced" < "processed"
bedeutet, dass die Feed-Tabelle im Vergleich zur zuvor synchronisierten Version keine Änderungen am Element erkannt hat. Solche Elemente werden beim Synchronisierungsvorgang ignoriert."synced" > "processed"
dieselbe Entitäts-ID (z. B.Product ID
) kann mehrere Werte in verschiedenen Bereichen haben. Beispielsweise kann ein Produkt fünf Websites zugewiesen werden. In diesem Fall sind möglicherweise „1 verarbeitetes“ Element und „5 synchronisierte“ Elemente vorhanden.
code language-none |
---|
|
Anzeigen und Fehlerbehebung in Protokollen mit New Relic
Wenn Sie Adobe Commerce-Protokolle in der New Relic speichern, können Sie Parsing-Regeln hinzufügen, um die Lesbarkeit und das Abfrageerlebnis zu verbessern.
-
Melden Sie sich bei New Relic an.
-
Gehe zu
Logs => Parsing
. -
Klicken Sie auf
Create parsing rule
. -
Konfigurieren Sie die Parsing-Regel, indem Sie die folgenden Werte hinzufügen.
-
Filtern von Protokollen basierend auf NRQL
filePath LIKE '%commerce-data-export%.log'
-
Parser-Regel
\[%{DATA:timestamp}\] report.%{DATA:logLevel} %{GREEDYDATA:feed:json}
-
In diesem Beispiel wird eine Regel hinzugefügt, mit der Sie New Relic-Protokolle nach Feed-Typ, Vorgang usw. abfragen können.
Beispiel-Abfragezeichenfolge—feed.feed:"products" and feed.status:"Complete"
Fehlerbehebung
Wenn Daten in Commerce Services fehlen oder falsch sind, überprüfen Sie die Protokolle, um festzustellen, ob während der Synchronisierung von der Adobe Commerce-Instanz zur Commerce Service-Plattform ein Problem aufgetreten ist. Verwenden Sie bei Bedarf die erweiterte Protokollierung, um den Protokollen zusätzliche Informationen zur Fehlerbehebung hinzuzufügen.
- commerce-data-export-errors.log - Wenn während der Erfassungsphase ein Fehler aufgetreten ist
- saas-export-errors.log - wenn während der Sendephase ein Fehler aufgetreten ist
Wenn Sie Fehler sehen, die nicht mit der Konfiguration oder Erweiterungen von Drittanbietern in Zusammenhang stehen, senden Sie ein Support-Ticket mit so vielen Informationen wie möglich.
Beheben von Katalogsynchronisierungsproblemen resolvesync
Beim Trigger einer erneuten Synchronisierung von Daten kann es bis zu einer Stunde dauern, bis die Daten aktualisiert sind und in Benutzeroberflächenkomponenten wie Live-Suche und Empfehlungseinheiten angezeigt werden. Wenn weiterhin Diskrepanzen zwischen Ihrem Katalog und den Daten in der Commerce-Storefront auftreten oder die Katalogsynchronisierung fehlgeschlagen ist, gehen Sie wie folgt vor:
Datendiskrepanz
- Zeigt die detaillierte Ansicht des betreffenden Produkts in den Suchergebnissen an.
- Kopieren Sie die JSON-Ausgabe und überprüfen Sie, ob der Inhalt mit dem übereinstimmt, was Sie im Commerce Katalog haben.
- Wenn der Inhalt nicht übereinstimmt, nehmen Sie eine geringfügige Änderung am Produkt in Ihrem Katalog vor, z. B. das Hinzufügen eines Leerzeichens oder eines Punkts.
- Warten Sie auf eine erneute Synchronisierung oder auf einen Trigger eine manuelle Neusynchronisierung.
Synchronisierung läuft nicht
Wenn die Synchronisierung nicht nach einem Zeitplan ausgeführt wird oder nichts synchronisiert wird, lesen Sie diesen KnowledgeBaseArtikel.
Synchronisierung fehlgeschlagen
Wenn der Status der Katalogsynchronisierung "" lautet senden Sie ein Support-Ticket.
Erweiterte Protokollierung
Für zusätzliche Protokollinformationen können Sie Umgebungsvariablen verwenden, um Protokolle um zusätzliche Daten für Tracking und Fehlerbehebung zu erweitern.
Im var/log/
befinden sich zwei Protokolldateien:
- commerce-data-export-errors.log - Wenn während der Erfassungsphase ein Fehler aufgetreten ist
- saas-export-errors.log - wenn während der Sendephase ein Fehler aufgetreten ist
Sie können Umgebungsvariablen verwenden, um Protokolle um zusätzliche Daten für Tracking und Fehlerbehebung zu erweitern.
Überprüfen der Feed-Payload
Schließen Sie die Feed-Payload in das SaaS-Exportprotokoll ein, indem Sie die Umgebungsvariable EXPORTER_EXTENDED_LOG=1
hinzufügen, wenn Sie den Feed neu synchronisieren.
EXPORTER_EXTENDED_LOG=1 bin/magento saas:resync --feed=products
Nach Abschluss des Vorgangs kann die Feed-Payload im SaaS-Exportprotokoll (var/.log/saas-export.log
) überprüft werden.
Payload in Feed-Indextabelle beibehalten
Für die Commerce SaaS-Datenexporterweiterung (magento/module-data-exporter
) 103.3.0 und höher behalten sofortige Export-Feeds nur die erforderlichen Mindestdaten in der Indextabelle bei. Die Feeds umfassen alle Feeds für den Katalog- und Bestandsstatus.
Die Beibehaltung von Payload-Daten in der Indextabelle wird in Produktionsumgebungen nicht empfohlen, kann aber in einer Entwicklungsumgebung nützlich sein. Schließen Sie die Feed-Payload in den Index ein, indem Sie die PERSIST_EXPORTED_FEED=1
Umgebungsvariable hinzufügen, wenn Sie den Feed neu synchronisieren.
PERSIST_EXPORTED_FEED=1 bin/magento saas:resync --feed=products
Ausführen des Profilers zur Fehlerbehebung bei langsamer Leistung
Wenn der Neuindizierungsprozess eines bestimmten Feeds unangemessen lange dauert, führen Sie den Profiler aus, um zusätzliche Daten zu erfassen, die für das Support-Team nützlich sein können.
Führen Sie den Profiler aus, indem Sie beim Ausführen des Befehls „reindex“ die EXPORTER_PROFILER=1
Umgebungsvariable hinzufügen.
EXPORTER_PROFILER=1 bin/magento indexer:reindex catalog_data_exporter_products
Profildaten werden im Datenexportprotokoll (var/log/commerce-data-export.log
) in folgendem Format gespeichert:
<Provider class name>, <# of processed entities>, <execution time im ms>, <memory consumption in Mb>