Personal tools
You are here: Home 清水川記 アクセス隙間検出
Document Actions

アクセス隙間検出

アクセス隙間検出。悔しかったのでリベンジです。

datetimeモジュールとtimeモジュールの間でうまく連携する方法が分からなかったので、かなり泥臭い感じになってしまいました。あとprevtimeとbasetimeの初期化が‥‥。

apacheのログから10分以上アクセスの無い時間帯を検出:

#!/usr/local/bin/python

import fileinput
import re
import time
import datetime

date = re.compile("(\d+/\w+/\d+:\d+:\d+:\d+)")
prevtime = None
basetime = None

for line in fileinput.input("/var/log/httpd/freia-access.log"):
  logtime = date.search(line)
  if logtime:
    ttime = time.mktime(time.strptime(logtime.groups()[0],
    "%d/%b/%Y:%H:%M:%S"))
    dtime = datetime.datetime.fromtimestamp(ttime)
    if not prevtime:
      prevtime = dtime
      basetime = dtime

    if dtime - prevtime < datetime.timedelta(0,600):
      if basetime != prevtime:
        print "%s while %s" % (basetime, dtime - basetime)
      basetime = dtime

    prevtime = dtime

結果はこんな感じ:

2004-08-12 00:31:07 while 0:32:59
2004-08-12 01:18:19 while 0:12:00
2004-08-12 03:17:27 while 0:42:16
2004-08-12 04:24:20 while 0:25:58
2004-08-12 04:50:22 while 0:19:45
2004-08-12 05:12:41 while 0:19:16
2004-08-12 05:46:56 while 0:13:45
2004-08-12 06:27:23 while 0:11:36
2004-08-12 06:46:56 while 0:25:55
2004-08-12 07:22:50 while 0:14:44
2004-08-12 07:48:35 while 0:14:38
2004-08-12 08:56:30 while 1:07:35
2004-08-12 10:28:47 while 0:23:49
2004-08-12 12:12:04 while 0:48:02
2004-08-12 13:15:28 while 0:44:42

やった!出来た!(笑)

結果を見ると、朝9時と正午前後あたりに外部からアクセスできていない時間帯があります。未だ原因は分かっていませんが、とりあえず定期的に外部に通信を行うようにして回避してみたいと思います。

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)