查看日志并排除故障
data export扩展提供日志以跟踪数据收集和同步过程。
日志
日志位于Commerce应用程序服务器上的var/log
目录中。
commerce-data-export.log
data-export-errors.log
saas-export.log
saas-export-errors.log
如果您没有看到Adobe Commerce服务的预期数据,请使用数据导出扩展的错误日志来确定出现问题的位置。 此外,您还可以使用其他数据扩展日志,以进行跟踪和故障排除。 请参阅扩展日志记录。
日志格式
每个日志记录具有以下结构。
[<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`>"
} [] []
下表描述了可在日志中记录的操作类型。
bin/magento saas:resync --feed=products
bin/magento cron:run --group=index
bin/magento cron:run --group=saas_data_exporter
(任何“*_data_exporter”cron组)bin/magento saas:resync --feed=categories
bin/magento cron:run --group=index
bin/magento cron:run --group=saas_data_exporter
(任何“*_data_exporter”cron组)日志记录示例
在完全重新同步期间,默认情况下每30秒跟踪并记录一次进度。 以下是示例日志条目。
{
"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"
}
在此示例中,status
值提供了有关同步操作的信息:
-
"Progress 2/5"
表示已完成5次迭代中的2次。 迭代次数取决于导出的图元数。 -
"processed: 200"
表示已处理200个项目。 -
"synced: 100"
表示已向SaaS发送100个项目。"synced"
应不等于"processed"
。 示例如下:"synced" < "processed"
表示与先前同步的版本相比,信息源表未检测到项中的任何更改。 在同步操作过程中将忽略此类项目。"synced" > "processed"
同一实体ID(例如,Product ID
)可以在不同的范围中具有多个值。 例如,一个产品可以分配给五个网站。 在这种情况下,您可能具有“1个已处理”项目和“5个已同步”项目。
code language-none |
---|
|
使用New Relic查看日志并进行故障排除
如果您将Adobe Commerce日志存储在New Relic中,则可以添加解析规则以提高可读性和查询体验。
-
登录到New Relic。
-
转到
Logs => Parsing
。 -
单击
Create parsing rule
。 -
通过添加以下值来配置解析规则。
-
根据NRQL筛选日志
filePath LIKE '%commerce-data-export%.log'
-
正在分析规则
\[%{DATA:timestamp}\] report.%{DATA:logLevel} %{GREEDYDATA:feed:json}
-
此示例添加了一个规则,允许您按特定馈送类型、操作等查询New Relic日志。
示例查询字符串—feed.feed:"products" and feed.status:"Complete"
故障排除
如果Commerce Services中的数据缺失或不正确,请检查日志,以查看在从Adobe Commerce实例同步到Commerce服务平台期间是否出现问题。 如果需要,可使用扩展日志记录将其他信息添加到日志以进行故障排除。
- commerce-data-export-errors.log — 如果在收集阶段发生错误
- saas-export-errors.log — 如果在传输阶段发生错误
如果看到与配置或第三方扩展无关的错误,请提交包含尽可能多信息的支持票证。
解决目录同步问题 resolvesync
触发数据重新同步时,最多可能需要一小时才能更新数据并反映在UI组件中,例如实时搜索和推荐单元。 如果您仍然看到目录与Commerce店面中的数据之间存在差异,或者如果目录同步失败,请参阅以下内容:
数据差异
- 在搜索结果中显示相关产品的详细视图。
- 复制JSON输出,并验证内容是否与您在Commerce目录中的内容匹配。
- 如果内容不匹配,请对目录中的产品进行细微更改,例如添加空格或句点。
- 等待重新同步或触发手动重新同步。
同步未运行
如果同步未按计划运行或未同步任何内容,请参阅此知识库文章。
同步失败
如果目录同步的状态为 失败,请提交支持票证。
扩展日志记录
有关其他日志信息,您可以使用环境变量通过用于跟踪和疑难解答的其他数据来扩展日志。
var/log/
目录中有两个日志文件:
- commerce-data-export-errors.log — 如果在收集阶段发生错误
- saas-export-errors.log — 如果在传输阶段发生错误
您可以使用环境变量通过其他数据扩展日志,以进行跟踪和故障排除。
检查馈送有效负荷
重新同步馈送时,通过添加EXPORTER_EXTENDED_LOG=1
环境变量将馈送有效负载包含在SaaS导出日志中。
EXPORTER_EXTENDED_LOG=1 bin/magento saas:resync --feed=products
操作完成后,馈送有效负载可在SaaS导出日志(var/.log/saas-export.log
)中查看。
在馈送索引表中保留有效负载
对于Commerce SaaS数据导出扩展(magento/module-data-exporter
) 103.3.0及更高版本,立即导出馈送在索引表中仅保留最低要求数据。 信息源包括所有目录和库存状态信息源。
不建议在生产环境中保留索引表中的有效负荷数据,但在开发人员环境中可能很有用。 在重新同步馈送时,通过添加PERSIST_EXPORTED_FEED=1
环境变量在索引中包含馈送有效负载。
PERSIST_EXPORTED_FEED=1 bin/magento saas:resync --feed=products
运行Profiler以解决性能缓慢的问题
如果特定信息源的重新索引过程耗时过长,请运行Profiler以收集可能对支持团队有用的其他数据。
运行reindex命令时,通过添加EXPORTER_PROFILER=1
环境变量来运行探查器。
EXPORTER_PROFILER=1 bin/magento indexer:reindex catalog_data_exporter_products
Profiler数据按以下格式存储在数据导出日志(var/log/commerce-data-export.log
)中:
<Provider class name>, <# of processed entities>, <execution time im ms>, <memory consumption in Mb>