サーバログ型アクセス解析の特徴、ログの構造と取得方法、ユーザID

今では誰もが簡単にアクセス解析をできるようになった。 Googleアナリティクスという無料のツールがあり、そのタグをHTMLファイルに記入することできれいな分析結果の画面が手に入る。有料だがAdobe Analyticsを導入しているサイトも多い。 最近は分析というと、こういったツールの画面を見ることが中心になってしまっている。 ところがそこに出てくるのはGoogleやAdobeによって加工・集計された数字だ。Googlebotなどの検索ロボットのアクセスも除外されてしまう。実は裏側にはログがあって、それを加工・集計して見たいアウトプット(媒体ごと流入数一覧、コンバージョンを生んだランディング…

Continue reading →

アクセスログファイルからのデータ抽出とCSV化、SQLiteへの取込

さまざまな形式のアクセスログファイルから、 分析集計しやすいようにCSVファイルへの変換、さらには簡易データベースであるSQLiteへの取り込みを解説する。 CSVファイルにする テキスト形式のログファイルを扱いやすいCSVに変換する。 NCSA combined形式 テキストファイルにすればExcelなどの表計算ソフトやPostgreSQLなどのデータベースにも取り込むことができる。自由自在になる。 バーチャルホスト名を含まないNCSA combined logから以下の8項目をタブ区切りテキストで書き出す。 アクセス元のアドレス ユーザー名 日時 ページのパス ステータスコード 送信バイト…

Continue reading →

アクセスログデータをデータベース(PostgreSQL)に取り込む

セッションやユーザの識別にはSQLiteでは対応していないウィンドウ関数が必要になるし、データのサイズが大きくなるとSQLiteでは不安なところもある。 ということで、データサイズがある程度大きくなっても対応可能で、オープンソースでは珍しくウィンドウ関数など集計・分析機能に優れたPostgreSQLへアクセスログを取り込む方法を解説する。 アクセスログをPostgreSQLに取り込む NCSA拡張形式のログを取り込む 環境の準備(linux) SQLiteと違って環境の準備が必要になる。 PostgreSQLのインストール、initdbが完了している前提で ユーザを作成 $ su postgr…

Continue reading →

アクセスログデータの前処理、ユーザIDとセッションの生成、URLの集約

アクセスログデータの前処理 これまでの手順で取り込んだログデータはそのままでは分析に使いにくい。 今後の分析がやりやすいように、ある程度の前処理が必要になる。 ここでは前処理のポイントになるものを列挙する。 分析対象とするリクエスト行の抽出/削除 取り込んだままのログデータに不要な情報が含まれることがある場合、必要に応じてそれらを削除する。アクセスログファイルからのデータ抽出時にフィルタリングしていない場合、ここで削除する。 ボットの抽出/削除 画像の削除 ユニークユーザとセッションの作成 疑似ユニークユーザ セッション 集計単位URLの指定 URLの分割 ダミーパラメータの除外 URLごとの…

Continue reading →

Googleアナリティクスの計測ログをBigQueryに送る(無料版対応)

Googleアナリティクスで収集しているデータ(メジャメントプロトコル)をBigQueryに送り、集計・可視化できるようにする。無料版のGAにも対応し、しかもサーバレスでシンプルに実装できる。 本来BigQueryを使ったウェブ行動の詳細分析はGA360を使うべきなのだが、限りなく低コストでこんなことができるという参考程度で紹介する。 通常無料版のGoogleアナリティクスではできないログベースの行動分析をするのに使ったり、有料版であったとしてもGAはどのようなトラフィックを除外して集計しているのか、Googlebotなどのクローラがどんな動きをしているのかなどを検証するのに使うといいかもしれ…

Continue reading →