技術情報

Matomoへのトラフィックを再生し、matomo.php(またはpiwik.php)リクエストのログを取り込むにはどうすればいいですか?

Log Analytics では、あらゆるウェブサーバーのログファイルをインポートすることができます。この FAQ では、Matomo でインポートすると便利なログの 1 つ、Matomo トラッキング API ログに焦点を当てます。

Matomo Tracking APIのログとは何ですか?

ユーザーがあなたのウェブサイトを訪問すると、MatomoJavaScriptトラッキングコードはmatomo.php(またはpiwik.php) Tracking APIエンドポイントにHTTP(S)リクエストを送信します。もしモバイルアプリやゲーム、デスクトップアプリを測定するために、APIクライアントのトラッキングを使用している場合、それらもmatomo.php(またはpiwik.php)にリクエストを送信します。これらのリクエストを処理するウェブサーバは、Matomo がデータベースに収集するトラッキングデータを含むアクセスログファイルを作成します。

以下にアクセスログの例を示します:

12.10.30.51 - - [03/Feb/2020:16:40:31 +1300] "GET /matomo.php?idsite=1&rec=1&urlref=https://www...................... HTTP/1.1" 200 256 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0"

ログ再生の用途

ログの再生は、例えばデータベースサーバーが故障し、Matomoが数時間データを書き込めなかった場合などに非常に便利です。幸運なことに、/matomo.php(または/piwik.php)にマッチするウェブサーバのログを使用してMatomoに再生することができます。ログを再生するということはログ分析ツールはログの各行を調べ、過去の正しい日付のMatomoにインポートするということです。ログの再生は、高可用性 Matomo.をセットアップしたい場合にも便利です。

トラッキングAPIのログを再生するには?手順

1) まず、インポートすべきリクエストだけを含むログファイルを準備します。通常、一定期間のみインポートします。これらのログでは、リクエストURLはすべてmatomo.phpまたはpiwik.php.で始まっています。これらは次に再生できるリクエストです。

2) 次に、ファイル内のすべてのリクエストが時系列にソートされている ことを確認します。これは、異なるログファイルからデータをマージした場合に特に重要です。その後、ログファイルを日付時間フィールドで並べることが重要です。

3) 最後に、トラッキングAPIのログを再生するには、ログアナリティクスインポーターに--replay-trackingパラメーターがあります:

./misc/log-analytics/import_logs.py --url=piwik.example.net --replay-tracking /var/log/apache2/access.log 

4) ログを再生した後、core:archiveコンソールコマンドでデータの再処理することをお勧めします。

これが完了したら、おめでとうございます。これで、消えたウェブ解析データの復旧は完了です!

ログ再生の限界

ログを再生する場合、ほとんどのログデータは期待通りに再生されます(訪問、ページビュー、ゴール、eコマーストランザクションなど)が、再生されないトラッキングリクエストがいくつかあるかもしれません:特に、POSTリクエストであるログエントリは再生されません(POSTリクエストパラメータはアクセスログファイルに保存されないため)。

Matomo JavaScript トラッカーは、フォームアナリティクス、メディアアナリティクス、ヒートマップ、ハートビートタイマーを使用している場合、POST リクエストを使用する可能性が高くなります。