Personal tools
You are here: Home 清水川記 アクセス数計測
Document Actions

アクセス数計測

先週辺りから、Worldから自宅サーバーへのアクセスが出来ない現象が多発しています。サーバーのOSを入れ替えてからOSそのものは落ちていないようなのですが、ナゼか外部からアクセスできなくなるようです。試しに定期的に外部にメールを発信するようにしたところ、そのタイミング毎にアクセスが可能になるようで、OSというよりはルータとかを疑った方が良いような気がしてきました。

ところで、今日は何時頃にアクセスできなくなっていたのか、というのを知りたくなったので、apacheのアクセスログを集計してみることにしました。最近pythonで簡単なプログラムを書くのが趣味になりつつあるので、今日もまたpythonで書いてみます。

apacheのログから時間単位のアクセス数を計算:

#!/usr/local/bin/python

import fileinput
import re

date = re.compile("(\d+)/\w+/\d+:(\d+):(\d+):(\d+)")
hour = ""
times = 0

for line in fileinput.input("/var/log/httpd/freia-access.log"):
  time = date.search(line)
  if time:
    groups = time.groups()
    group = groups[0]+" "+groups[1]
    if hour != group:
      print "%s: %s" % (hour, "*"*(times/10))
      hour = group
      times = 0
    times += 1

print "%s: %s" % (hour, "*" *(times / 10))

結果はこんな感じです:

12 00: ************
12 01: *******************************
12 02: *********
12 03: *
12 04: *****
12 05: ***********
12 06: *********
12 07: ******
12 08: ***************
12 10: ********
12 11: ***************
12 12:
12 13: *************
12 14: ************************************************
12 15: *****************************************
12 16: ****************************
12 17: ******************************
12 18: ********************
12 19: **********************
12 20: ***********************
12 21: **************************
12 22: ****************************
12 23: ******

‥‥ここまでやってから気づいたのですが、これでは単なるアクセス数集計で、どの辺りでアクセスが途切れているかを知ることは出来ません。だめじゃん。

とりあえず1分単位で集計して途切れタイミングを知ることだけは出来そうですが、会社のサーバーあたりにcron仕掛けて調べる方が現実的ですね。

Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)

« July 2010 »
Mo Tu We Th Fr Sa Su
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
About this blog
Zope, Python, FreeBSD, その他色々について。つまり日記か。
Categories
Agile(XP) (0)
Event (10)
Pattern (0)
その他 (10)
Zope (11)
Memo (0)
(3)
python (17)
Programming (0)
Game (0)
OO (0)
Unix (0)
WZ (0)
work (0)
Plone (11)
Windows (1)
IT-PC (4)
自転車 (0)
TurboGears (0)
ダーツ (0)
JavaScript (0)
旅行 (0)
Web (3)
セキュリティー (1)
Django (0)
LDAP (0)
データベース (0)
vi/vim/gvim (0)
C/C++ (0)
ボドゲ (0)
RoR (2)
pyspa (1)
スタトレ (0)