Überprüfen von Protokollen und Fehlerbehebung
Die data export -Erweiterung stellt Protokolle zur Verfolgung von Datenerfassungs- und Synchronisierungsprozessen bereit.
Protokolle
Protokolle sind im Abschnitt var/log
Ordner auf dem Commerce-Anwendungsserver.
commerce-data-export.log
data-export-errors.log
saas-export.log
saas-export-errors.log
Wenn die erwarteten Daten für einen Adobe Commerce-Dienst nicht angezeigt werden, verwenden Sie die Fehlerprotokolle für die Datenexport-Erweiterung, um zu ermitteln, wo das Problem aufgetreten ist. Außerdem können Sie Protokolle mit zusätzlichen Daten für Tracking und Fehlerbehebung erweitern. Siehe Erweiterte Protokollierung.
Protokollformat
Jeder Protokolldatensatz hat die folgende Struktur.
[<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 in den Protokollen aufgezeichneten Vorgangsarten beschrieben.
bin/magento saas:resync --feed=products
bin/magento cron:run --group=index
bin/magento cron:run --group=saas_data_exporter
(beliebige Cron-Gruppe "*_data_exporting")bin/magento saas:resync --feed=categories
bin/magento cron:run --group=index
bin/magento cron:run --group=saas_data_exporter
(beliebige Cron-Gruppe "*_data_exporting")Beispiele für die Protokollierung
Während einer vollständigen Neusynchronisierung wird der Fortschritt standardmäßig alle 30 Sekunden verfolgt und protokolliert. Im Folgenden finden Sie einen Beispielprotokolleintrag.
{
"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 wird die status
-Werte liefern Informationen zum Synchronisierungsvorgang:
-
"Progress 2/5"
gibt an, dass 2 von 5 Iterationen abgeschlossen sind. 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 Elemente an SaaS gesendet wurden. Es wird erwartet, dass"synced"
ist nicht gleich"processed"
. Im Folgenden finden Sie ein Beispiel:"synced" < "processed"
bedeutet, dass die Feed-Tabelle im Vergleich zur zuvor synchronisierten Version keine Änderungen am Element erkannt hat. Solche Elemente werden während des Synchronisierungsvorgangs ignoriert."synced" > "processed"
dieselbe Entitäts-ID (z. B.Product ID
) kann mehrere Werte in verschiedenen Bereichen aufweisen. Beispielsweise kann ein Produkt fünf Websites zugewiesen werden. In diesem Fall verfügen Sie möglicherweise über "1 verarbeitetes"Element und "5 synchronisierte"Elemente.
code language-none |
---|
|
Anzeigen von und Fehlerbehebung bei Protokollen mit New Relic
Wenn Sie Adobe Commerce-Logs 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.
-
Navigieren Sie zu
Logs => Parsing
. -
Klicks
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'
-
Parsing-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.
Beispielabfragezeichenfolge—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 bei der Synchronisierung von der Adobe Commerce-Instanz mit der Commerce-Dienstplattform 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 Erfassung ein Fehler aufgetreten ist
- saas-export-errors.log - wenn während der Sendephase ein Fehler aufgetreten ist
Wenn Fehler auftreten, die nicht mit der Konfiguration oder Erweiterungen von Drittanbietern in Zusammenhang stehen, senden Sie eine Support-Ticket mit so vielen Informationen wie möglich.
Beheben von Problemen bei der Katalogsynchronisierung resolvesync
Wenn Sie eine Datenresynchronisierung Trigger haben, kann es bis zu eine Stunde dauern, bis die Daten aktualisiert und in UI-Komponenten 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, lesen Sie Folgendes:
Datendiskrepanz
- Zeigen Sie die detaillierte Ansicht des betreffenden Produkts in den Suchergebnissen an.
- Kopieren Sie die JSON-Ausgabe und stellen Sie sicher, dass der Inhalt mit dem übereinstimmt, den Sie im Commerce Katalog.
- 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 Zeitraums.
- Warten Sie auf eine Neusynchronisierung oder Trigger einer manuellen Neusynchronisierung.
Synchronisierung wird nicht ausgeführt
Wenn die Synchronisierung nicht planmäßig ausgeführt wird oder nichts synchronisiert wird, lesen Sie dies KnowledgeBase Artikel.
Synchronisierung fehlgeschlagen
Wenn die Katalogsynchronisierung den Status Fehlgeschlagen, senden Sie eine Support-Ticket.
Erweiterte Protokollierung
Für zusätzliche Protokollinformationen können Sie Umgebungsvariablen verwenden, um Protokolle mit zusätzlichen Daten für die Verfolgung und Fehlerbehebung zu erweitern.
Es gibt zwei Protokolldateien im var/log/
directory:
- commerce-data-export-errors.log - wenn während der Erfassung ein Fehler aufgetreten ist
- saas-export-errors.log - wenn während der Sendephase ein Fehler aufgetreten ist
Sie können Umgebungsvariablen verwenden, um Protokolle mit zusätzlichen Daten für Tracking und Fehlerbehebung zu erweitern.
Überprüfen der Feed-Payload
Fügen Sie die Feed-Payload in das SaaS-Exportprotokoll ein, indem Sie die EXPORTER_EXTENDED_LOG=1
Umgebungsvariable beim erneuten Synchronisieren des Feeds.
EXPORTER_EXTENDED_LOG=1 bin/magento saas:resync --feed=products
Nach Abschluss des Vorgangs ist die Feed-Payload im SaaS-Exportprotokoll (var/.log/saas-export.log
).
Payload in Feed-Indextabelle beibehalten
Für die Commerce SaaS-Datenexport-Erweiterung (magento/module-data-exporter
) 103.3.0 und höher halten sofortige Export-Feeds nur die erforderlichen Mindestdaten in der Indextabelle. Die Feeds enthalten alle Katalog- und Bestandsstatus-Feeds.
Die Beibehaltung von Payload-Daten in der Indextabelle wird in Produktionsumgebungen nicht empfohlen, kann aber in einer Entwicklungsumgebung nützlich sein. Fügen Sie die Feed-Payload in den Index ein, indem Sie die PERSIST_EXPORTED_FEED=1
Umgebungsvariable beim erneuten Synchronisieren des Feeds.
PERSIST_EXPORTED_FEED=1 bin/magento saas:resync --feed=products
Führen Sie einen Profiler aus, um eine Fehlerbehebung bei langsamer Leistung durchzuführen
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 Supportteam nützlich sein könnten.
Führen Sie den Profiler aus, indem Sie die EXPORTER_PROFILER=1
Umgebungsvariable beim Ausführen des Befehls "reindex".
EXPORTER_PROFILER=1 bin/magento indexer:reindex catalog_data_exporter_products
Profildaten werden im Datenexport-Protokoll gespeichert (var/log/commerce-data-export.log
) im folgenden Format:
<Provider class name>, <# of processed entities>, <execution time im ms>, <memory consumption in Mb>