Revisione dei registri e risoluzione dei problemi
L'estensione data export fornisce i registri per tenere traccia dei processi di raccolta e sincronizzazione dei dati.
Registri
I registri sono disponibili nella directory var/log
nel server applicazioni Commerce.
commerce-data-export.log
data-export-errors.log
saas-export.log
saas-export-errors.log
Se non visualizzi i dati previsti per un servizio Adobe Commerce, utilizza i registri di errore per l’estensione di esportazione dei dati per determinare dove si è verificato il problema. Inoltre, puoi estendere i registri con dati aggiuntivi per il tracciamento e la risoluzione dei problemi. Vedi Registrazione estesa.
Formato registro
Ogni record di registro ha la seguente struttura.
[<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`>"
} [] []
Nella tabella seguente sono descritti i tipi di operazioni che è possibile registrare nei registri.
bin/magento saas:resync --feed=products
bin/magento cron:run --group=index
bin/magento cron:run --group=saas_data_exporter
(qualsiasi gruppo cron "*_data_exporter")bin/magento saas:resync --feed=categories
bin/magento cron:run --group=index
bin/magento cron:run --group=saas_data_exporter
(qualsiasi gruppo cron "*_data_exporter")Esempi di registrazione
Durante una risincronizzazione completa, l'avanzamento viene tracciato e registrato ogni 30 secondi per impostazione predefinita. Di seguito è riportato un esempio di voce di registro.
{
"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 questo esempio, i valori status
forniscono informazioni sull'operazione di sincronizzazione:
-
"Progress 2/5"
indica che 2 delle 5 iterazioni sono state completate. Il numero di iterazioni dipende dal numero di entità esportate. -
"processed: 200"
indica che sono stati elaborati 200 elementi. -
"synced: 100"
indica che 100 elementi sono stati inviati a SaaS."synced"
non è uguale a"processed"
. Ecco un esempio:"synced" < "processed"
significa che la tabella di feed non ha rilevato alcuna modifica nell'elemento rispetto alla versione sincronizzata in precedenza. Tali elementi vengono ignorati durante l'operazione di sincronizzazione."synced" > "processed"
lo stesso id entità (ad esempio,Product ID
) può avere più valori in ambiti diversi. Ad esempio, un prodotto può essere assegnato a cinque siti web. In questo caso, potresti avere "1 elemento elaborato" e "5 elementi sincronizzati".
code language-none |
---|
|
Visualizzare e risolvere i problemi dei registri con New Relic
Se archivi i registri di Adobe Commerce in New Relic, puoi aggiungere regole di analisi per migliorare la leggibilità e l’esperienza di query.
-
Accedi a New Relic.
-
Vai a
Logs => Parsing
. -
Fare clic su
Create parsing rule
. -
Configura la regola di analisi aggiungendo i seguenti valori.
-
Filtra i registri in base a NRQL
filePath LIKE '%commerce-data-export%.log'
-
Regola di analisi
\[%{DATA:timestamp}\] report.%{DATA:logLevel} %{GREEDYDATA:feed:json}
-
In questo esempio viene aggiunta una regola che consente di eseguire query sui registri di New Relic per tipo di feed, operazione e così via.
Esempio di stringa di query—feed.feed:"products" and feed.status:"Complete"
Risoluzione dei problemi
Se i dati mancano o sono errati in Commerece Services, controlla i registri per verificare se si è verificato un problema durante la sincronizzazione dall’istanza di Adobe Commerce alla piattaforma Commerce Service. Se necessario, utilizza la registrazione estesa per aggiungere ulteriori informazioni ai registri per la risoluzione dei problemi.
- commerce-data-export-errors.log - se si è verificato un errore durante la fase di raccolta
- saas-export-errors.log - se si è verificato un errore durante la fase di trasmissione
Se vengono visualizzati errori non correlati alla configurazione o alle estensioni di terze parti, invia un ticket di supporto con il maggior numero di informazioni possibile.
Risolvi problemi di sincronizzazione catalogo resolvesync
Quando attivi una risincronizzazione dei dati, l’aggiornamento dei dati può richiedere fino a un’ora e può essere incluso nei componenti dell’interfaccia utente, ad esempio le unità per la ricerca live e per la generazione di consigli. Se riscontri ancora delle discrepanze tra il catalogo e i dati nella vetrina di Commerce, o se la sincronizzazione del catalogo non è riuscita, fai riferimento a quanto segue:
Discrepanza dei dati
- Visualizzare la visualizzazione dettagliata del prodotto in questione nei risultati della ricerca.
- Copiare l'output JSON e verificare che il contenuto corrisponda a quello presente nel catalogo Commerce.
- Se il contenuto non corrisponde, apporta una piccola modifica al prodotto nel catalogo, ad esempio aggiungendo uno spazio o un punto.
- Attendere la risincronizzazione o attivare una risincronizzazione manuale.
Sincronizzazione non in esecuzione
Se la sincronizzazione non è in esecuzione su una pianificazione o non è stato sincronizzato nulla, vedere questo articolo KnowledgeBase.
Sincronizzazione non riuscita
Se lo stato della sincronizzazione del catalogo è Non riuscito, inviare un ticket di supporto.
Registrazione estesa
Per ulteriori informazioni di registro, puoi utilizzare le variabili di ambiente per estendere i registri con dati aggiuntivi per il tracciamento e la risoluzione dei problemi.
Nella directory var/log/
sono presenti due file di log:
- commerce-data-export-errors.log - se si è verificato un errore durante la fase di raccolta
- saas-export-errors.log - se si è verificato un errore durante la fase di trasmissione
Puoi utilizzare le variabili di ambiente per estendere i registri con dati aggiuntivi per il tracciamento e la risoluzione dei problemi.
Verifica il payload del feed
Includere il payload del feed nel registro di esportazione SaaS aggiungendo la variabile di ambiente EXPORTER_EXTENDED_LOG=1
quando si sincronizza nuovamente il feed.
EXPORTER_EXTENDED_LOG=1 bin/magento saas:resync --feed=products
Al termine dell'operazione, il payload del feed è disponibile per la revisione nel registro di esportazione SaaS (var/.log/saas-export.log
).
Mantieni payload nella tabella dell’indice del feed
Per l'estensione di esportazione dei dati Commerce SaaS (magento/module-data-exporter
) 103.3.0 e versioni successive, i feed di esportazione immediati mantengono solo i dati minimi richiesti nella tabella dell'indice. I feed includono tutti i feed dello stato delle scorte di magazzino e di catalogo.
La conservazione dei dati di payload nella tabella di indice non è consigliata negli ambienti di produzione, ma può essere utile in un ambiente di sviluppo. Includere il payload del feed nell'indice aggiungendo la variabile di ambiente PERSIST_EXPORTED_FEED=1
quando si risincronizza il feed.
PERSIST_EXPORTED_FEED=1 bin/magento saas:resync --feed=products
Esegui il profiler per risolvere i problemi di prestazioni lente
Se il processo di reindicizzazione di un feed specifico richiede un tempo eccessivo, eseguire il profiler per raccogliere dati aggiuntivi che potrebbero essere utili per il team di supporto.
Eseguire il profiler aggiungendo la variabile di ambiente EXPORTER_PROFILER=1
quando si esegue il comando reindex.
EXPORTER_PROFILER=1 bin/magento indexer:reindex catalog_data_exporter_products
I dati del profiler vengono memorizzati nel log di esportazione dei dati (var/log/commerce-data-export.log
) nel seguente formato:
<Provider class name>, <# of processed entities>, <execution time im ms>, <memory consumption in Mb>