web服务器中获取统计数据-猜测
2013-07-11 09:54
260 查看
web请求中,web服务器的日志中会留有一些信息,这些信息可以供后续数据分析只有。常用的有apache和nginx服务器,两者日志格式相差不是很多。日志格式可以配置,具体配置方式不详细介绍,网上肯定很多。
常见的分析方式有两种:
(1)在服务器上通过shell或者python脚本分析,将结果数据搞到数据库
(2)将服务器上的原始文件拉到特定的分析服务器,分析服务器对于结果分析,然后搞到数据库
两种方式各有利弊,第一种的话获取结果的脚本需求部署到每台机器上去,好处是减少网络传输,第二种的话好处是服务器不需要部署脚本,直接拖数据到分析服务器即可,缺点是网络传输消耗比较大。
apache和nginx中常见的日志信息(下面是两个日志配置)
nginx:"$remote_addr $request_time_usec $http_x_readtime [$time_local] \"$request_method http://$host$request_uri\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\"";
apace:"%h %D %{X_READTIME}i %t \"%m http://%V%U%q\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
可以获取的信息有以下几个(基本上是基于http协议的一下信息)
(1)来源ip
(2)请求响应时间
(3)请求时间点
(4)请求URL(包含get或者post信息)
(5)返回的http状态码
(6)返回的信息的大小
(7)来源URL(refer信息)
(8)浏览器和操作系统数据
基于这些基本数据,我们可以做哪些分析(做了简单的描述)?
(1)统计每秒请求的数量(即QPS)以及特定时间内的总请求书
(2)统计每秒请求的用户数(UV),但是理论上是IPV
(3)统计系统的平均响应时间(基于每次请求的时间做平均)
(4)用户在页面上的停留时间,这个需要结合refer以及时间点,可能会有些许不准确
(5)用户路径分析,分析refer数据,例如A>B点数据,refer是A,那用户先到A页面再到B页面
基于web服务器获取的数据毕竟有限,想要获取更多用户的行为或者统计数据,还看一怎么做?
(1)页面通过js来进行埋点
用户的行为会触发浏览器对被统计页面的一个http请求,,页面中的埋点javascript片段会被执行,用过相关工具的朋友应该知道,一般网站统计工具都会要求用户在网页中加入一小段javascript代码,这个代码片段一般会动态创建一个script标签,并将src指向一个单独的js文件,此时这个单独的js文件会被浏览器请求到并执行,这个js往往就是真正的数据收集脚本。
(2)在服务端代码中添加埋点
将埋点的统计数据临时放置在内存中,然后将数据定时的写入磁盘,之后基于这些信息来进行分析。
常见的分析方式有两种:
(1)在服务器上通过shell或者python脚本分析,将结果数据搞到数据库
(2)将服务器上的原始文件拉到特定的分析服务器,分析服务器对于结果分析,然后搞到数据库
两种方式各有利弊,第一种的话获取结果的脚本需求部署到每台机器上去,好处是减少网络传输,第二种的话好处是服务器不需要部署脚本,直接拖数据到分析服务器即可,缺点是网络传输消耗比较大。
apache和nginx中常见的日志信息(下面是两个日志配置)
nginx:"$remote_addr $request_time_usec $http_x_readtime [$time_local] \"$request_method http://$host$request_uri\" $status $body_bytes_sent \"$http_referer\" \"$http_user_agent\"";
apace:"%h %D %{X_READTIME}i %t \"%m http://%V%U%q\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
可以获取的信息有以下几个(基本上是基于http协议的一下信息)
(1)来源ip
(2)请求响应时间
(3)请求时间点
(4)请求URL(包含get或者post信息)
(5)返回的http状态码
(6)返回的信息的大小
(7)来源URL(refer信息)
(8)浏览器和操作系统数据
基于这些基本数据,我们可以做哪些分析(做了简单的描述)?
(1)统计每秒请求的数量(即QPS)以及特定时间内的总请求书
(2)统计每秒请求的用户数(UV),但是理论上是IPV
(3)统计系统的平均响应时间(基于每次请求的时间做平均)
(4)用户在页面上的停留时间,这个需要结合refer以及时间点,可能会有些许不准确
(5)用户路径分析,分析refer数据,例如A>B点数据,refer是A,那用户先到A页面再到B页面
基于web服务器获取的数据毕竟有限,想要获取更多用户的行为或者统计数据,还看一怎么做?
(1)页面通过js来进行埋点
用户的行为会触发浏览器对被统计页面的一个http请求,,页面中的埋点javascript片段会被执行,用过相关工具的朋友应该知道,一般网站统计工具都会要求用户在网页中加入一小段javascript代码,这个代码片段一般会动态创建一个script标签,并将src指向一个单独的js文件,此时这个单独的js文件会被浏览器请求到并执行,这个js往往就是真正的数据收集脚本。
(2)在服务端代码中添加埋点
将埋点的统计数据临时放置在内存中,然后将数据定时的写入磁盘,之后基于这些信息来进行分析。
相关文章推荐
- 万能糖果公司web应用——从服务器获取数据
- 获取web服务器xml数据总结
- Android开发之获取web服务器xml数据
- Android从零单排之手机客户端http获取Web服务器数据实例
- Android应用开发之获取web服务器xml数据
- Android应用开发之获取web服务器xml数据
- [原]as3 flash web 应用 (8)图片批量上传之 向服务器发送和获取额外数据
- CGI原理解析系列之一----CGI如何获取WEB服务器数据
- CGI原理解析系列之三----CGI如何完整获取WEB服务器数据
- Apachetop:展示web服务器实时统计数据
- 获取网络数据,获取web服务器xml数据
- web服务器带宽的数据统计和估算
- 获取web服务器xml数据
- 手机App通过http协议从web服务器上获取json格式的数据
- 获取web服务器xml数据
- 使用XMLHTTP Request Object获取服务器数据
- android httpclient获取服务器上面的数据
- MFC操作--数据输出、注册表、文件统计和获取上级目录
- 数据统计之Web Beacon
- ASP.NET 2.0里轻松获取数据库连接统计数据