10月11, 2015

nginx日志统计的研究

之前说过一个 [前端统计系统的研究]/html/195.html) ,今天周末在家折腾了一天是分析nginx日志,并画出饼状图〜

是由于看组内大神@沈洲大神做的浏览器统计,一时我也想练练,于是今天一天没有出出(当然还是得吃饭的)〜

思路

  1. 首先是写个自动定时任务,在每天夜里23:55的时候运行脚本,脚本做日志切割和转成需要的数据json
  2. 制作访问接口可以获取分析后的json数据,比如浏览器型号,系统型号
  3. 根据接口画出饼状图

定时任务-解析日志

写一个以每天23:55执行的shell,大概内容如下:

# /bin/bash
# 移动数据日志为last
cp -f /home/access.log /home/last.log
# 切割成以当天日期命名的日志
mv /home/access.log /home/access/$(date +%Y%m%d).log
# 触发node分析last日志
node '/home/parseJson.js'
# 解析nginx生成新日志文件
kill -USR1 `cat /var/run/nginx.pid`

parseJson.js的内容大概是使用nginxparser包分析每条的日志,并生成Y-m-d.json存下来

分析日志接口

建立http server,并在访问时处理上面生成的json数据,可以按自己要求分析,比如浏览器版本、浏览器型号、系统版本等,当然还可以做cache

点我看接口的例子

画图

其实画图就简单了,用echarts轻轻松松话出来〜

demo


点我看源码

本文链接:https://xuexb.com/post/282.html

-- EOF --

发表于 2015年10月11日 22:56:00 ,添加在分类 后端技术 下 ,并被添加「 nginx 统计 日志 」标签 ,最后修改于 2017年03月29日 21:14:12

提醒: 本文最后更新于 3209 天前,文中所描述的信息可能已发生改变,请谨慎使用。

Comments

评论加载中...

注:如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理。

AltStyle によって変換されたページ (->オリジナル) /