Überprüfen von Protokollen und Fehlerbehebung
Die Erweiterung data export bietet Protokolle zur Verfolgung von Datenerfassungs- und Synchronisierungsprozessen.
Protokolle
Protokolle sind im Ordner "var/log
"auf dem Commerce-Anwendungsserver verfügbar.
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 liefern die Werte status
Informationen zum Synchronisierungsvorgang:
-
"Progress 2/5"
gibt an, dass 2 von 5 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 Elemente an SaaS gesendet wurden. Es wird erwartet, dass"synced"
nicht gleich"processed"
ist. Im Folgenden finden Sie ein Beispiel:"synced" < "processed"
bedeutet, dass die Feed-Tabelle im Vergleich zur zuvor synchronisierten Version keine Änderungen im 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.
-
Wechseln Sie 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'
-
Parsing rule
\[%{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 zusammenhängen, senden Sie ein 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 im Commerce -Katalog vorhandenen übereinstimmt.
- 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 einen Trigger manuellen Resync.
Synchronisierung wird nicht ausgeführt
Wenn die Synchronisierung nicht nach einem Zeitplan ausgeführt wird oder nichts synchronisiert wird, finden Sie weitere Informationen in diesem Artikel KnowledgeBase .
Synchronisierung fehlgeschlagen
Wenn die Katalogsynchronisierung den Status Fehlgeschlagen aufweist, senden Sie ein Supportticket.
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 Ordner "var/log/
":
- 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
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 erneut synchronisieren.
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
) zur Überprüfung verfügbar.
Payload in Feed-Indextabelle beibehalten
Für die Commerce SaaS-Datenexport-Erweiterung (magento/module-data-exporter
) 103.3.0 und höher behalten sofortige Export-Feeds nur die erforderlichen Mindestdaten in der Indextabelle bei. 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 Umgebungsvariable PERSIST_EXPORTED_FEED=1
hinzufügen, wenn Sie den Feed erneut synchronisieren.
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 Umgebungsvariable EXPORTER_PROFILER=1
hinzufügen, wenn Sie den reindex-Befehl ausführen.
EXPORTER_PROFILER=1 bin/magento indexer:reindex catalog_data_exporter_products
Profilerdaten werden im Datenexport-Protokoll (var/log/commerce-data-export.log
) im folgenden Format gespeichert:
<Provider class name>, <# of processed entities>, <execution time im ms>, <memory consumption in Mb>