亚希是个多才多艺的日志分析器提供的默认提取的Apache / lighttpd的。
命令行使用
解析用亚希数据的例子:http://wwwstat.julbox.fr/
最简单的用法是:
speed_shoot -g的/ usr /本地/数据/ GEOIP在/ var / WWW /阿帕奇/接入*日志
它会返回一个JSON形式:
{
 “by_date”:{
 “2012-5-3”:11
 },
 “total_line”:11,
 “ip_by_url”:{
 “/的favicon.ico”:{
 “192.168.0.254”:2,
 “192.168.0.35”:2
 },
 “/”:{
 “74.125.18.162”:1,
 “192.168.0.254”:1,
 “192.168.0.35”:5
 }
 },
 “by_status”:{
 “200”:7,
 “404”:4
 },
 “by_dist”:{
 “未知”:11
 },
 “bytes_by_ip”:{
 “74.125.18.162”:151,
 “192.168.0.254”:489,
 “192.168.0.35”:1093
 },
 “by_url”:{
 “/的favicon.ico”:4,
 “/”:7
 },
 “by_os”:{
 “未知”:11
 },
 “week_browser”:{
 “3”:{
 “未知”:11
 }
 },
 “by_referer”:{
 “ - ”:11
 },
 “by_browser”:{
 “未知”:11
 },
 “by_ip”:{
 “74.125.18.162”:1,
 “192.168.0.254”:3,
 “192.168.0.35”:7
 },
 “by_agent”:{
 “Mozilla的/ 5.0(X11; Ubuntu的;的Linux x86_64的; RV:12.0)的Gecko / 20100101火狐/ 12.0,GZIP(GFE)(通过translate.google.com)”:1,
 “Mozilla的/ 5.0(X11; Ubuntu的;的Linux x86_64的; RV:12.0)的Gecko / 20100101火狐/ 12.0”:10
 },
 “by_hour”:{
 “9”:3,
 “10”:4,
 “11”:1,
 “12”:3
 },
 “by_country”:{
 “”:10,
 “美”:1
 }
}
如果你使用:
speed_shoot -f CSV -g的/ usr /本地/数据/ GEOIP在/ var / WWW /阿帕奇/接入*日志
你的结果是:
by_date,2012-5-3,11
total_line,11
ip_by_url,/的favicon.ico,192.168.0.254,2
ip_by_url,/的favicon.ico,192.168.0.35,2
ip_by_url,/,74.125.18.162,1
ip_by_url,/,192.168.0.254,1
ip_by_url,/,192.168.0.35,5
by_status,200,7
by_status,404,4
by_dist,未知的,11
bytes_by_ip,74.125.18.162,151
bytes_by_ip,192.168.0.254,489
bytes_by_ip,192.168.0.35,1093
by_url,/的favicon.ico,4
by_url,/,7
by_os,未知的,11
week_browser,3,不明,11
by_referer, - ,11
by_browser,未知的,11
by_ip,74.125.18.162,1
by_ip,192.168.0.254,3
by_ip,192.168.0.35,7
by_agent,“Mozilla的/ 5.0(X11; Ubuntu的;的Linux x86_64的; RV:12.0)的Gecko / 20100101火狐/ 12.0,GZIP(GFE)(通过translate.google.com)”,1
by_agent,Mozilla的/ 5.0(X11; Ubuntu的;的Linux x86_64的; RV:12.0)的Gecko / 20100101 Firefox的/ 12.0,10
by_hour,9,3
by_hour,10,4
by_hour,11,1
by_hour,12,3
by_country ,, 10
by_country,美国,1
嗯,我想,这是行不通的,因为你首先需要获取GEOIP数据文件:
wget的-O-“http://www.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz”| ZCAT> /usr/local/data/GeoIP.dat
当然,这是GEOLITE上的数据库,不包括数据包中的自GEOIP必须经常更新,以留准确。
对于GEOIP默认路径为数据/ GeoIP.dat
使用的脚本
速度拍摄实际上是如何使用亚希作为一个模块的模板:
#!的/ usr /斌/包膜蟒蛇
从archery.bow进口阪急为_dict
从亚希进口缺口,拍摄
从日期时间日期时间进口
背景=缺口()
date_formater =拉姆达DT:“%S-%S-%的”%(dt.year,dt.month,dt.day)
context.output(
 拍(
 的背景下,
 拉姆达数据:_dict({
 “by_country”:_dict({数据['_国]:1}),
 “by_date”:_dict({date_formater(数据['_日期时间']):1}),
 “by_hour”:_dict({数据['_日期时间']时间:1}),
 “by_os”:_dict({数据['_ OS_NAME']:1}),
 “by_dist”:_dict({数据['_ dist_name']:1}),
 “by_browser”:_dict({数据['_ BROWSER_NAME']:1}),
 “by_ip”:_dict({数据['IP']:1}),
 “by_status”:_dict({数据['状态']:1}),
 “by_url”:_dict({数据['URI']:1}),
 “by_agent”:_dict({数据['代理']:1}),
 “by_referer”:_dict({数据['引荐']:1}),
 “ip_by_url”:_dict({数据['URI']:_dict({数据['IP']:1})})
 “bytes_by_ip”:_dict({数据['IP']:INT(数据['字节'])}),
 “week_browser”:_dict({数据['_日期时间']平日():
  _dict({数据[“_ BROWSER_NAME”]:1})})
 'total_line':1,
 })
&NBSP),
)
安装
容易,因为:
PIP安装亚希
或:
easy_install的亚希
建议报告使用
- 基本日志聚合,我不使用推荐的命令行;
- 对于一个镜头的指标,我建议一个互动的控制台(bpython或IPython的);
- 具体指标或复杂的过滤器我用推荐的API
要求:
- 在Python中
评论没有发现