介绍如何进行httpd日志分析
本文项目仅做学术交流,转载请注明出处!
import datetime
import re
logline='''192.168.56.1 - - [18/Mar/2019:10:55:04 +0800] \
"POST /zabbix/jsrpc.php?output=json-rpc HTTP/1.1" 200 64 \
"http://192.168.56.101:888/zabbix/zabbix.php?action=problem.view&ddreset=1" \
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36"'''
ops = {
'datetime':lambda timestr:str(datetime.datetime.strptime(timestr,"%d/%b/%Y:%H:%M:%S %z")),
'request':lambda request:dict(zip(('method','url','protocol'),request.split())),
'status':int,
'size':int
}
pattern = '''(?P<remote>[\d\.]{7,}) - - \[(?P<datetime>[^\[\]]+)\] \"(?P<request>[^\"]+)\" (?P<status>\d+) (?P<size>\d+) \"(?P&l