技術情報

ログ解析ツールの使い方

2014年11月18日 機能説明

※注 この記事は Piwik1.8~2.17のアーカイブ情報です

目次
1. 要件
2. ログ解析と JavaScript クライアントの違い
3. デフォルトオプションでのログファイル解析スクリプトの実行方法
4. bot、静的ファイル、HTTP エラートラッキングを含むさらなるデータのインポート方法
5. 特定のログ行を除外する方法
6. よくある質問

このページでは、Matomo(Piwik) にあなたのサーバーログをインポートするための要件およびMatomo(Piwik) ログ解析ツールの実行方法について説明します。

要件

Matomo(Piwik) をインストールまたはアップデート)して下さい。これは、およそ5 分程かかります。
・スクリプトの実行には、SSH またはあなたのサーバー上でスクリプトを実行するいくつかの方法を経由してサーバーにアクセスする必要があります。
・Python 2.6 が必要です。注意:ログファイルをロードおよび解析するスクリプトは、Python で書かれていますが、API の背後の Matomo(Piwik) は、PHP5 で書かれています。
・Matomo(Piwik) で解析および分析するには、1つ以上のログファイルが必要です。(各ログファイル内のログ行は、日付順に整理されている必要があります。)
注:ユーザーエージェント、参照元 URL、ログの様々な URL(ホスト名を含む)を含む、拡張ログフォーマットの使用をおすすめします。もしこれらのフィールドがログに見当たらない場合、Matomo(Piwik) の分析データの精度が低くなります。
・正確な国や都市の検知のために、ジオロケーション(位置情報探索機能)をセットアップしましょう。
Matomo(Piwik) では、ビジターの国々を、ビジターのブラウザ言語に基づいて推測されていました。しかし、この情報は、アクセスログでは利用できないため、ジオロケーションのセットアップを行う必要があります。
・最低 Matomo(Piwik) 1.7.2 が必要ですが、常に最新バージョンへのアップデートを行うことをおすすめします。

ログ解析と JavaScript クライアントの違い

サーバーログのインポートを利用する場合、JavaScript トラッキングに比べて、ユーザーデータが部分的に不足しています。画面解像度、ブラウザプラグイン、ページタイトルは利用できません。(レポートアクション > ページタイトルはほとんど空の状態です)Cookie の追跡では、数個の紛失データポイントで結果を使用することはできません。こちらの FAQ もご確認ください。

デフォルトオプションでのログファイル解析スクリプトの実行方法

Matomo(Piwik) を実行すると、misc/log-analytics/import_logs.py に、以下のスクリプトが見つかります。

 $ python /path/to/piwik/misc/log-analytics/import_logs.py 

これは、ヘルプ情報を表示します。 Matomo(Piwik) の基本 URL を指定するために必要なパラメータは、

--url=http://analytics.example.com 
 

のみです。
また、インポートのために 1つ以上のログファイルを指定することができます。

さらに様々なオプションが利用可能です。
ヘルプ結果をご確認いただき、ご利用いただけるパラメータについてのより詳しい情報と説明は、
こちらをお読みください

たとえば、あなたが全てのリクエスト (静的ファイル、bot リクエスト、http エラー、http リダイレクト) の追跡をお望みなら、以下のコマンドが利用できます。

python /path/to/piwik/misc/log-analytics/import_logs.py --url=http://analytics.example.com 
--idsite=1234 --recorders=4 --enable-http-errors --enable-http-redirects --enable-static
--enable-bots access.log

bot、静的ファイル、HTTP エラートラッキングを含むさらなるデータのインポート方法

デフォルトでは、スクリプトは、静的ファイル(JS、CSS、images 等)を追跡せず、すべての bot のトラフィックを除外します。

以下のコマンドで、それらを有効にすることができます。

--enable-bots

これは、bot という名前を持つカスタム変数を使用して、Matomo(Piwik) 内で検索とスパム bot を追跡します。有効化すると、ログファイルは全ての bot のページビューが Matomo(Piwik) に送信されるので、処理時間が長くなります。

bot のユーザーエージェントを報告するカスタム変数の例

bots-tracking-400x279

--enable-static

これは、Matomo(Piwik) ですべての静的ファイル(images、JS、CSS)の追跡を指定します。なお、一般的なログファイル処理よりいくらか時間がかかります。

--enable-http-errors

これは、Matomo(Piwik) でページビューとして、404、500 などに設定されたカスタム変数 HTTP コードで、HTTP エラー(4XX、5XX ステータス)の追跡を指定します。
このページビューのためのページタイトルは、それがログファイルに指定されている場合、URL 参照元を表示します。(それは、例えばどのページが 404 へのリンクを持っているかどうか探し出すのを手伝います。)

--enable-http-redirects

これは、HTTP リダイレクト(302、301、3xx)を、カスタムタイトルとカスタム変数で、ページビューとして追跡します。
注: HTTP ステータスの 304 レスポンス(“Not modified”)は、ページビューとして追跡されます。

--enable-reverse-dns

これは、DNS の逆引き(ビジターを生成するのに使用されます > プロバイダーレポート)を有効化し、逆引きDNSがとてもゆっくりなので、大きなパフォーマンスヒットを除外します。

--recorders=N

これは、スレッド数を指定します。システムで CPU コア数にこれを設定することをお勧めしました。(または、あなたのサーバー構成に合わせて若干の調整を行って下さい。)

--recorder-max-payload-size=N

インポーターは、よりよい速度を達成するため、Matomo(Piwik) の大部分のトラッキング機能を使用します。デフォルトでは、300ページビュー(またはログ行)が Matomo(Piwik) に一度に送られます。あなたは、よりよいパフォーマンスへの挑戦とその達成の数を体験することができますが、あなたが得る事ができる速度には、上限があります。

特定のログ行を除外する方法

特定のログ行またはビジターを追跡の対象から除外するいくつかの方法があります。
・具体的な IP アドレスまたは IP 範囲を追跡対象から除外できます。除外 IP を設定するには、Matomo(Piwik) にスーパーユーザーとしてログインし、設定 > ウェブサイトをクリックします。
・スクリプトは、以下を経由して具体的なユーザーエージェント HTTP ヘッダーで訪問を除外するオプションを提供しています。--useragent-exclude
・スクリプトは、考慮すべき全てのURLホスト名のホワイトリストを実施するオプションを提供しています。リストにないホスト名を持つ全ての他のログ行は、インポートされません。オプションの  –hostname をご確認下さい。
・URL パスが特定の URL パスと合致する具体的なログ行を除外することも可能です。オプションの--exclude-pathをご確認下さい。

例えば全てのファイルを URL example.org/assets/ から除外するには、以下のように書きます。--exclude-path="/assets"

2つのパスを除外するには、以下のように書きます。--exclude-path="path1/here" --exclude-path="/sub/path2"

よくある質問

情報やガイドは、ログ解析ツール FAQ をご確認下さい。

Matomo(Piwik) でよりよいサーバーログ処理のための未来へのリクエストがあれば、以下からフィードバックを通して私達にお知らせ下さい。あなたからのフィードバックを楽しみに待ち、そして Matomo(Piwik) が大きな価値を全てのサーバーログに届けられる事を願っています。


※この記事はMatomo(Piwik)公式サイト2014年10月1日時点の内容です
※掲載内容が古くなっている場合もありますので最新情報はMatomo(Piwik)公式サイトをご覧ください。

オリジナルの記事はこちら
http://matomo.org/docs/log-analytics-tool-how-to/