ログの確認とトラブルシューティング
data export拡張機能には、データ収集と同期プロセスを追跡するためのログが用意されています。
ログ
ログは、Commerce アプリケーションサーバーのvar/log ディレクトリで利用できます。
commerce-data-export.logdata-export-errors.logsaas-export.logsaas-export-errors.logAdobe Commerce サービスに期待されるデータが表示されない場合は、データ書き出し拡張機能のエラーログを使用して、問題が発生した場所を確認します。 また、追跡とトラブルシューティングのために追加のデータを使用してログを拡張することもできます。 拡張ログ を参照してください。
ログ形式
各ログレコードの構造は次のとおりです。
[<log record datetime>] report.<log level>:
{
"feed": "<feed name>",
"operation": "<executed operation>",
"status": "<status of operation>",
"elapsed": "<time elapsed from script run>",
"pid": "<process id that executed `operation`>",
"caller": "<who called this `operation`>"
} [] []
次の表に、ログに記録できる操作タイプを示します。
bin/magento saas:resync --feed=productsbin/magento cron:run --group=indexbin/magento cron:run --group=saas_data_exporter (任意の「*_data_exporter」 cron グループ)bin/magento saas:resync --feed=categoriesbin/magento cron:run --group=indexbin/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"は、100件の項目がSaaSに送信されたことを示します。"synced"が"processed"と等しくないことが予想されます。 例を次に示します。"synced" < "processed"は、以前に同期されたバージョンと比較して、フィード テーブルがアイテムの変更を検出しなかったことを意味します。 このような項目は、同期操作中は無視されます。"synced" > "processed"同じエンティティ id (例:Product ID)で、異なるスコープに複数の値を持つことができます。 例えば、ひとつの商品を5つのweb サイトに割り当てることができます。 この場合、「1個の処理済み」項目と「5個の同期済み」項目がある可能性があります。
| code language-none |
|---|
|
New Relicでのログの表示とトラブルシューティング
New RelicにAdobe Commerce ログを保存する場合は、解析ルールを追加して、読みやすさとクエリエクスペリエンスを向上させることができます。
-
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 サービスでデータが欠落または正しくない場合は、Adobe CommerceからCommerce Services プラットフォームへの同期中に発生したエラーに関するメッセージをログで確認します。 必要に応じて、拡張ログを使用してログに追加情報を追加し、トラブルシューティングを行います。
- データ書き出しエラーログ (
commerce-data-export-errors.log)は、収集フェーズで発生したエラーをキャプチャします。 - SaaS書き出しエラーログ (
saas-export-errors.log)は、送信段階で発生したエラーをキャプチャします。
設定またはサードパーティの拡張機能に関連しないエラーが表示された場合は、できるだけ多くの情報を含む サポートチケット を送信してください。
カタログ同期の問題を解決する resolvesync
データ再同期をトリガーすると、データが更新され、ライブサーチやレコメンデーションユニットなどのUI コンポーネントに反映されるまでに、最大1時間かかる場合があります。 Commerce ストアフロントで引き続きカタログとデータの間に不一致が表示される場合、またはカタログの同期に失敗した場合は、次を参照してください。
データの不一致
- 検索結果に該当する製品の詳細ビューを表示します。
- JSON出力をコピーし、コンテンツがCommerce カタログ内のコンテンツと一致することを確認します。
- コンテンツが一致しない場合は、スペースやピリオドの追加など、カタログ内の商品に軽微な変更を加えます。
- 再同期を待つか、CLIまたは管理者ダッシュボードから手動再同期をトリガーします。
Syncが実行されていません
同期がスケジュールで実行されていないか、何も同期されていない場合は、このKnowledgeBase記事を参照してください。
同期できませんでした
カタログ同期のステータスが 失敗 の場合は、 サポートチケット を送信します。
拡張ログ
環境変数を使用して、追跡とトラブルシューティング用の追加データを含むログを拡張します。 次の例に示すように、data export CLI コマンドを実行する際に、環境変数をコマンドラインに追加します。
フィードペイロードの確認
フィードの再同期時にEXPORTER_EXTENDED_LOG=1環境変数を追加して、SaaS エクスポートログにフィードペイロードを含めます。
EXPORTER_EXTENDED_LOG=1 bin/magento saas:resync --feed=products
操作が完了すると、フィード ペイロードはSaaS エクスポート ログ (var/.log/saas-export.log)でレビューできます。
フィード インデックス テーブルのペイロードを保持
Commerce SaaS Data Export Extension (magento/module-data-exporter) 103.3.0以降では、即時の書き出しフィードは、インデックステーブルに必要な最小限のデータのみを保持します。 フィードには、すべてのカタログおよび在庫の在庫ステータスフィードが含まれます。
インデックステーブルにペイロードデータを保持することは、実稼動環境では推奨されませんが、開発者環境では便利です。 フィードの再同期時にPERSIST_EXPORTED_FEED=1環境変数を追加して、フィード ペイロードをインデックスに含めます。
PERSIST_EXPORTED_FEED=1 bin/magento saas:resync --feed=products
プロファイラーを実行してパフォーマンスの低下をトラブルシューティング
特定のフィードのインデックス再作成プロセスに不合理な時間が要する場合は、プロファイラーを実行して、サポートチームに役立つ追加データを収集します。
reindex コマンドの実行時にEXPORTER_PROFILER=1環境変数を追加して、プロファイラーを実行します。
EXPORTER_PROFILER=1 bin/magento indexer:reindex catalog_data_exporter_products
プロファイラーデータは、データ書き出しログ (var/log/commerce-data-export.log)に次の形式で保存されます。
<Provider class name>, <# of processed entities>, <execution time im ms>, <memory consumption in Mb>