トップ(最新) | <前

nDiki : アクセスログ

アクセスログ - access log

Web 解析 Hacks -オンラインビジネスで最大の効果をあげるテクニック & ツール 見ていると楽しいもの。

関連情報

スポンサード リンク

Related term

2004年1月23日 (金)

[ WiKicker ] 憧れのサイドバー このエントリーを含むはてなブックマーク

スポンサード リンク

Wiki はまぁ(ユーザからの視点において)シンプルな方が良いと思うのだが、やっぱサイドバーは出せてもいいかな。先日実装したIPC共有メモリを用いた直近のアクセスログ管理を使ってトップランキングも常にチェックできるようにしたいし。

@ tDiary テーマでサイドバー

レイアウトは tDiary のテーマにまかせる。 現在の blue-feather はサイドバー対応していないようなので、Nana 氏の flower に変更。 Wiki用に若干幅、配色等を修正。

で、WiKicker のフッタファイルに <div class="sidebar">...</div> を作ってそこに Google検索フォーム等を移動。

@ Access Top 30

IPC共有メモリに置いてあるアクセスログを使って直近300アクセスによるランキングをサイドバーに表示できるようにする。

アクセスログは刻々と更新されるのでトップランキングもできるだけ更新表示させたいのだが、一方各WikiPageはレスポンス向上・負荷軽減のためできるだけ 304 を返したい。

なのでページ中の更新表示させたいトップランキングの部分を、JavaScriptファイルとして別ファイルに生成しておくことにした(いわゆる JavaScript Include)。 HTML出力自体に変更がなくて304を返しても、アクセスログの変更に合わせてJavaScriptファイルだけ更新しておけばクライアント側で表示を更新してくれる。

JavaScript はできるだけ避ける方針できているが、アクセスランキングは付加的情報なのでJavaScript off によって表示されなくてもそれほど問題ないと判断。 document.write だけだから互換性の問題もほとんどないだろうし。

JavaScriptファイルの更新は、RecentLogへアクセスがあった時についでに生成するという形で行うようにしてみた。 一応 cron で1時間毎に

 wget --quiet -O - http://www.naney.org/wiki/RecentLog.html > /dev/null

して、最低でも1時間に1回は更新されるようにしておく。

■ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。

Google Buzz はよろしければ Naney の Google プロフィールからどうぞ。


[ 1月23日全て ]

2004年3月1日 (月)

[ WiKicker ] WiKickerLog::Log4perl を採用 このエントリーを含むはてなブックマーク

他のプロジェクトでも使用していて「WiKicker でも使いたいのだけれど、これ以上依存するモジュールを増やすのものぁ」というものの一つであった Log::Log4perl をやはり採用する事に。

Perl 5.005_03 でもギリギリOKのようである。

Debugログおよび、アクセスログ等もすべてこの上にのせていくつもり。


[ 3月1日全て ]

2004年5月21日 (金)

AWStats 6.0 このエントリーを含むはてなブックマーク

www.naney.orgアクセスログをローカルにもってきて統計解析をするのに、今回は analog ではなく AWStats を使うことに。

以前 www.naney.org に入れてみた時より、随分使いやすくなった感じ。

@ セットアップ

Debian パッケージを入れた後、awstats.naney.org というバーチャルドメインをローカルのApacheに用意(/var/www/awstats.naney.org)。

 Alias /icon/ "/usr/share/awstats/icon/"

も設定に追加しておく。

ファイルレイアウト:

 /var/www/awstats.naney.org/
  |
  +-- .htaccess
  |
  +-- awstats.conf  <-- 作成
  |
  +-- awstats.pl    <-- コピーしてきて一部修正
  |
  +-- cache         <-- DNSキャッシュ用 (まだ未使用)
  |
  +-- data          <-- データを保存
  |
  +-- plugins       <-- プラグイン
       |
       +-- wikicker.pm <-- /wiki/(.*).html を $1 で表示するプラグイン(自作)

awstats.pl はパッケージのものをコピー。DecodeEncodedString の中で Jcode.pm を使って文字列を UTF-8 に変換するように修正。

ローカル用なのであまり気にせず DocumentRoot の下にもりっとファイルを置いておく。

awstats.conf はこんな感じ。

 LogFile="/path/to/downloaded-log/access.log"
 LogType=W
 LogFormat=1
 LogSeparator=" "
 DNSLookup=2
 DirData="./data"
 SiteDomain="www.naney.org"
 HostAliases="localhost"
 DNSStaticCacheFile="cache/dnscache.txt"
 DNSLastUpdateCacheFile="cache/dnscachelastupdate.txt"
 URLWithQuery=1
 URLReferrerWithQuery=1
 LevelForWormsDetection=2
 ShowWormsStats=1
 LoadPlugin="wikicker"
 ValidHTTPCodes="200 304 -"

ValidHTTPCodes の '-' というのは、本来不要。自前のSSIで似非 Combined Log を生成する際に '-' を出力する事があるので追加。

日本語もきちんと出るしいい感じ。 指定した月ではなく、指定した日のログを見れるといいのだが設定すればできるようにならないかな。

analog と違ってプラグインが使えるのが良い。 Perlスクリプトだから、その気になれば簡単に awstats.pl 自体を変更する事もできるし。

今回は ShowInfoURL 用プラグインを書いて、/wiki 以下のURLの際は unescape して PageName を表示するようにしてみた。

その他いろいろ遊べそう。


[ 5月21日全て ]

2004年11月19日 (金)

mixiに登録 このエントリーを含むはてなブックマーク

ちょっと落ちついたので、2日ほど前に招待されていたmixiに登録してみる。 そういえばorkutは(予想通り)最近ほったらかし。

チェックしてみると mixi日記に関して外部のものを(RSS)を通して使えるようなので、ちょっと興味が出てきた。

mixi のシステムから送られてくるメールは、行末に ^M がつくのでちょっと嫌。

で登録。

@ RSS を設定

nDiki (DiKicker) はまだ RSS を生成しないので、かわりに NaneyOrgWiki (WiKicker) の RSS を指定してみる。 フォームに入力して、送信。

 Internal Server Error

そうですか。die を捕捉してませんか。 こちらのサイトのアクセスログを見るとRSSは取得していっているので、解析移行でこけているらしい。

いろいろチェックしてみると一つは日付表示の問題らしい。 mixi の要求する dc:date 要素はあるのだが、WiKicker で生成している YYYY-MM-DDThh:mm:ssZ (W3CDTFの一つ)では駄目らしい。

でどうやら YYYY-MM-DDThh:mm:ss+09:00 でないと駄目らしい (YYYY-MM-DDThh:mm:ss+00:00 でも駄目)。 まあこれもW3CDTFの形式ではあるけれど、もうちょっと許容してくれてもいいのになと思う。 いや駄目でもいいけど、 Internal Server Error はよろしくないんじゃないか。

とにかく RSS は設定できた。 がうまく表示されない。

がくり。

@ 追記

mixi の dc:date について誤認。 いろいろ試してみたところタイムゾーン指定は Z でもOKだった。

(2004年11月21日追記)


[ 11月19日全て ]

2005年2月8日 (火)

track feed - 他のサイトからリンクが張られたことを瞬時にRSSでお知らせ このエントリーを含むはてなブックマーク

生成したスクリプトをHPに貼るだけで、他のサイトからリンクが張られたことを瞬時にRSSでお知らせします。-- http://trackfeed.com/

自前でアクセスログ解析をしなくてもリンク元をRSSで確認できることができるようになるサービス。素晴しい。


[ 2月8日全て ]

2005年2月13日 (日)

Tor で hidden service このエントリーを含むはてなブックマーク

Tor: An anonymous Internet communication system を試してみる。 Torは匿名接続を提供するシステム。 アプリケーションで Tor クライアント(あるいはサーバ)をSOCKSサーバとして指定すると、いくつかの Tor サーバを経由して目的のサービスに接続されるようになる。 途中の経路は時間とともにどんどん変わっていく(らしい)。

@ インストール

Debian パッケージになっているので apt-get。

@ Privoxy と連携させて Web閲覧

もともと普段から使用している Privoxy の config に、

 forward-socks4a / localhost:9050 .

という設定を追加して再起動Privoxy がローカルサーバで動いている Tor 経由で接続するようになる。

 Firefox -> Privoxy(localhost:8118) -> Tor(localhost:9050)
         -> Tor server -> ... -> Tor server -> Web サーバ

という感じに複数の Tor サーバを経由して目的にサーバに接続されるようになる。

Web サーバアクセスログを見ながら何度かHTTPアクセスをしてみると、IP アドレス(経路の最後の Tor server)が変わっていくのがわかる。

@ 使用感

かなりレスポンスが悪くなる。 現状では常時設定しておくのは辛い感じ。

Tor では名乗りを上げない限り(待ち受けポートを開けた上で、ディレクトリサーバに登録する)サーバにはならない。 このため、Tor server が絶対的に足りていないのかもしれない。

@ hidden service

Tor の面白い機能の一つに匿名サービスを提供する機能がある。 Web サーバSSHサーバなどを匿名で晒すことができる。

この時動かす tor は Tor サーバである必要はなく Tor クライアントでかまわない。

/etc/tor/torrc に

 HiddenServerDir /var/lib/tor/hidden_http_service/
 HiddenServicePort 80 127.0.0.1:80

を追加して、tor を再起動

/var/lib/tor/hiden_http_service/hostname というファイルに ****************.onion というホスト名が書かれているので、Tor + Privoxy 経由で http://****************.onion/ にアクセスすると、先ほどの tor が動いているサーバの Web サーバのページが見える。 hidden service を提供している tor は NAT の中にいてもOK(のようだ)。

閲覧者側に Tor (とPrivoxyなど)がインストールしてあれば、ダイナミックDNSに登録したりしなくても好きなタイミングで Web サーバにアクセスしてもらえるようになる。 面白い。

ローカルの Apache に 「ServerAlias *.onion」な Virtual Host の設定を追加して、Tor 経由専用のWebサイトも実験的に準備しておいてみた(例によって Wiki)。


[ 2月13日全て ]

2006年10月26日 (木)

Web 解析サービス Google Analytics を申し込む このエントリーを含むはてなブックマーク

昨年無料サービス開始時には申し込みが殺到して新規登録を一時中止したという経緯があった Google Analytics、当時はそのうち試してみたいと思っていたのだが気がつけばもうすぐ1年だ。

アクセス解析を見るのは結構楽しいもので、周期的に見たいという衝動がくる。 analog やら AWStats やら自作やらで過去にもいろいろ解析してみた経験がある。

会社でも最近アクセスログ解析が話題になっているし、www.naney.org 用に Google Analytics に申し込んでみた。

解析を取りたいページの最後に JavaScript を埋め込むタイプの解析で、404 であったりその他のリソースのアクセス数のチェックには向かないものの、その分 Web サーバアクセスログ解析では得られない統計を得ることができる。

レポートの種類は豊富で、最初は「あのレポートは、どれだっけ?」と何度もいろいろ見直したりしなければならないぐらい。

アクセス傾向が分かるようになるので、重点的に内容を充実させるべきページを把握してサイトを改良していきたい。


[ 10月26日全て ]

2007年12月18日 (火)

Google Analytics のデータからよく検索されるキーワードを表示するようにした このエントリーを含むはてなブックマーク

Google Analytics から1日1回キーワードのレポートを TSV 形式でメールで配信するように設定している。 このデータをもとに「よく検索されるキーワード」を抽出して、nDiki の下の方に表示するようにした。

@ 処理の流れ

  1. メールで配信された TSV 形式データをファイルに保存する。
  2. 検索質問とセッション数の組のデータを抽出する。
  3. 1ワード単位でセッション数を集計する。
  4. 上位のワードについて、nDiki のキーワードリストにあるか照合する。
    1. 完全一致するものがあれば、それを参照キーワードとする。
    2. 大文字小文字一致するものがあれば、それを参照キーワードとする。
    3. ワードを含むキーワードがあれば、その中で文字数の差が少ないものを参照キーワードとする。
    4. ワードで記事を grep 検索してマッチするものがあれば、それを(nDiki 内で検索して見つかる)キーワードとする。
    5. でなければ関連キーワード無しのワードとする。
  5. 各ワードについて、対応するリンクを設定してフッタ埋め込み用の HTML フラグメントを生成しファイルを生成する。
  6. ファイルをサーバにアップロードし、サーバ側でフッタにインクルードする。

1日1回の作業なので、メールからスクリプトにかける部分とアップロードする部分は手動で。

そこそこの処理なので、そこそこの精度なのだけれど傾向は何となくわかる感じだ。

実際にはアクセスログの対象となっているのは nDiki 以外の www.naney.org 内のアクセスも含まれているけれどもまあいいであろう。

@ キーワードの処理

キーワードの処理は細かいことをいうと結構面倒だったりする。

  • 複合語の処理: 検索ワード側も、nDiki キーワード側も複合語を含むので空白で区切られた語の扱いが大変。特に検索ワード側は語順が正しいとは限らないし、各語が個別の語を表しているのか否かの判断が難しい。
  • 曖昧一致処理: 検索ワード(や nDiki キーワード)が正確な語とは限らないので、曖昧一致させる必要がある。検索エンジン側で曖昧一致させて検索結果に上がっている可能性があるのでその辺りも考慮する必要がある。

などなど。

この辺りは精度を上げようとするといろいろ工夫の余地がって楽しそうではあるな。


[ 12月18日全て ]

2007年12月19日 (水)

位置情報とアクセス解析「なかのひと」 このエントリーを含むはてなブックマーク

2007年4月20日にベータ版が開始され話題になってから随分たつが、nDiki に「なかのひと」を昨晩からつけてみた。 なかのひとは、

「どんな組織からアクセスがあったか」に特化したサービス

である。地図表示付きなどその他の機能もあるが、組織名がわかるのが一番面白い点。

基本的にはアクセスログ解析でアクセス元の IP アドレスから組織がわかるのだが、実際のところ対応表をメンテナンスするのって面倒なので、こういったサービス便利である。

@ 優れている点

  • タグクラウド形式のアクセス一覧が刺激的な表示で見やすい。
  • あしあと表示で、ちょっと前までのアクセスが見られるのがライブ感があって良い。「激レア!!」等をゲットすると、なぜかちょぴり嬉しい。

別にどうといったことではないんだけれど、メジャーな組織名があると「おっ」と思ってしまうし、どの組織の人にどんな目的で見られているんだろうと考えると想像するだけで楽しくなってくる。

サイト運営の清涼剤になるな。


[ 12月19日全て ]

2008年1月5日 (土)

今日のさえずり - そうかあれネズミか このエントリーを含むはてなブックマーク

  • 09:21 9:00 過ぎにシャープのサービスから電話があった。今日の冷蔵庫出張修理は 12:00 から 14:00 とのこと。[mb]
  • 11:17 アクセスログ見て「なんで『トッポ・ジージョ』でこんなに検索されているんだろう」と年末から思っていたが、そうかあれネズミか。
  • 12:05 サービスマンきた。[mb]
  • 12:14 冷凍室内分解中。[mb]
  • 12:17 サイクル故障(コンプレッサー故障)の可能性大らしい。[mb]
  • 12:31 コンプレッサー交換だと5万円ぐらいかかるとのこと。ひえー。買い換えるにしても修理するにしても痛い出費だ。

[ 1月5日全て ]

この日記のはてなブックマーク数 Add to Google RSS

Process Time: 0.026157s / load averages: 0.20, 0.17, 0.16
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)