ログの確認とトラブルシューティング
data export 拡張機能は、データ収集および同期プロセスを追跡するログを提供します。
ログ
ログは、Commerce Application Server の 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"
は、100 項目が SaaS に送信されたことを示します。"synced"
が"processed"
に等しくないと予想される。 次に例を示します。"synced" < "processed"
れは、以前に同期されたバージョンと比較して、フィードテーブルで項目の変更が検出されなかったことを意味します。 このような項目は、同期操作中は無視されます。- 同じエンティティ id (
Product ID
など)に"synced" > "processed"
、異なるスコープに複数の値を含めることができます。 例えば、1 つの製品を 5 つの web サイトに割り当てることができます。 この場合、「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 Service Platform への同期中に問題が発生したかどうかを確認します。 必要に応じて、拡張ログを使用して、トラブルシューティング用の情報をログに追加します。
- commerce-data-export-errors.log – 収集フェーズでエラーが発生した場合
- saas-export-errors.log – 送信フェーズでエラーが発生したかどうか
設定やサードパーティの拡張機能に関連しないエラーが表示された場合は、できるだけ多くの情報を記載した サポートチケットを送信します。
カタログ同期の問題を解決 resolvesync
データの再同期をトリガーする場合、データが更新され、ライブ検索やレコメンデーションユニットなどの UI コンポーネントに反映されるまで、最大 1 時間かかる場合があります。 カタログとCommerce ストアフロントのデータの間にまだ不一致が発生する場合、またはカタログの同期に失敗した場合は、次を参照してください。
データの不一致
- 検索結果に、該当する製品の詳細ビューを表示します。
- JSON 出力をコピーし、コンテンツが Commerce カタログの内容と一致することを確認します。
- コンテンツが一致しない場合は、スペースやピリオドの追加など、カタログの製品に小さな変更を加えます。
- 再同期を待つか、 手動の再同期をトリガーしてください。
同期が実行されていません
同期がスケジュールに従って実行されていない場合や、何も同期されていない場合は、この KnowledgeBase の記事を参照してください。
同期できませんでした
カタログ同期のステータスが 失敗 の場合は、 サポートチケットを送信します。
拡張ログ
その他のログ情報については、環境変数を使用して、トラッキングやトラブルシューティング用に追加のデータでログを拡張できます。
var/log/
ディレクトリには 2 つのログファイルがあります。
- 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 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>