• Category Archives: Web Analytic

基于Logstash和Kibana搭建网站实时收集、分析、索引和搜索日志系统

日志分析和监控在系统开发、网站运营优化中占有非常重要的地位,同时对于数字营销也有非常重要的作用。就笔者个人而言,通常的需求场景如下:

  • 广告投放方面:
    • 排查广告点击到达情况,计算广告到达率(通常广告点击一次就会有一条日志产生,如果日志数量明显低于广告点击次数,则campaign或者该渠道需要调整)
    • 实时监控点击IP分布,观察是否有IP集中或者恶意点击情况
    • 大型投放活动的实施监控
    • 通过正则过滤,快速的监控不同URL的实时访问情况
  • 搜索引擎优化方面
    • 通过spider、响应代码、不同网站URL目录、时间等维度,通过快速细分发现抓取问题,改善搜索引擎抓取效能
    • 监控各厂商spider抓取的趋势数据,快速的进行对比和趋势分析
    • 新项目发布,实时监控搜索引擎蜘蛛抓取情况

总的来说,使用kibana和你可以搭建可视化的日志数据。

简单来讲他具体的工作流程就是 logstash agent 监控并过滤日志,将过滤后的日志内容发给redis(这里的redis只处理队列不做存储),logstash index将日志收集在一起交给全文搜索服务ElasticSearch 可以用ElasticSearch进行自定义搜索 通过Kibana 来结合 自定义搜索进行页面展示,下图是 Kibana官网上的流程图

131135111

kibana的功能特色如下:
快速高效的基于时间比较分析,发现数据变化
time-based1

为了更好地理解大数据,基于kibana你可以很容易地创建条形图、柱状图、散点图、饼图和地图。
sense1

强大的数据接口,电商网站基于kibana可以非常方便的监控销售接口情况,可以是企业大量的经营业务数据化、可监控。
empower1

强大的搜索语法,通过获取背景数据,可以方便的展开不同维度的细分分析,关注和获得你真正感兴趣、有意义的数据。
例如,你可以给前端监控所有100到500bytes的html和css文档
search1

如果你是一个IT技术,对实施kibana感兴趣,推荐以下延伸阅读:
kibana:http://www.kibana.org/
DEMO:http://demo.kibana.org/
http://storysky.blog.51cto.com/628458/1158707/
http://c20031776.blog.163.com/blog/static/684716252013111134033672/

使用GA监控在线咨询数据

目前,大多数企业在都在使用在线咨询工具,例如百度商桥、QQ、53客服、商务通等等,甚至有相当一部分企业网站是使用了多个咨询工具。为此,统计广告带来的在线咨询就成了一个重要的课题,今天就来介绍基于GA的事件监控方案
1、第一步,引入一段jquery,将其插入网站前

2、获取CSS样式名

此处:用户点击在线咨询按钮触发的CSS样式为id #wap2 或者class .im-qq
3、配置GA事件监控代码

4、查看事件数据
20150105131303
结合流量细分,则可以分析不同流量来源的转化效果;结合百度竞则可以监控百度SEM的效果,以指导SEM优化
20150105131711

以百度商桥为例,我们想监控百度商桥弹出框的按钮点击情况、留言按钮点击情况、客服咨询点击情况,则代码如下:

如此,通过Google analytic可以发现,百度竞价或者任意广告的创意、计划、媒介、位置,不同的转化情况。

20150114194059

正则表达式在网站分析中的应用

在Google analytic的基本配置、目标定义、过滤器设置、高级细分、自定义报告等众多日常操作均会要求我们筛选和过滤想要的信息,掌握好正则表达式,则可以快速匹配到我们想要的信息。
一、首先什么是正则表达式
正则表达式是计算机世界的一个概念。她使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。

二、常见的正则表达式
. 匹配除 “\n” 之外的任何单个字符
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次
{n} n 是一个非负整数。匹配确定的 n 次
{n,} n 是一个非负整数。至少匹配n 次
x|y 匹配 x 或 y
[xyz] 字符集合。匹配所包含的任意一个字符
[^xyz] 负值字符集合。匹配未包含的任意字符
[a-z] 字符范围。匹配指定范围内的任意字符
[^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符
\b 匹配一个单词边界,也就是指单词和空格间的位置
\d 匹配一个数字字符
\D 匹配一个非数字字符
\s 匹配任何空白字符
\S 匹配任何非空白字符

三、正则表示GA中的应用场景举例

20150205234429
遇到上面的情况,根据观察发现仅第3、6两条记录为真实的注册记录;其他都是测试或其他原因产生的干扰数据,则可以通过正则进行良好的过滤。

正则表达式为:^/approveInit\?uid=\d*

最后,我们可以在来源媒介维度,对比不同来源的用户的转化情况。以评估不同广告及SEO的效果
20150205234844

GA通过__utm.gif采集了哪些数据?

utmac:GA的站点配置ID,用于区别不同帐号的字串,所有请求中都有
utmcc:GA的cookie值,这个请求参数发送所有的cookie请求.
utmcc是Cookie里存储的数据:

  • __utma用来分析唯一用户,访问次数,停留时间,新访或回访等等。
  • __utmz用来记录流量来源。
  • __utmv存储细分用户所定义的值,一般通过URL Builder生成,用于PPC。

utmcs:浏览器的语言编码,某些浏览器不支持此项,在这种情况下会被社会设置为 “-”
utmdt:页面标题,是一个URL-encoded 字串
utme:扩展参数
utmfl:flash版本
utmhn:用户访问的主机名,是一个URL-encoded 字串
utmje:用户浏览器是否支持JAVA
utmn:utm.gif唯一的ID编号,用于防止GIF图像被缓存
utmp:当前页面产生的请求,记录你在这个页面的点击行为及其他自定义的返回值
utmr:推介链接的URL
utms:本次会话访问页面的次数
utmsc:用户的屏幕颜色
utmsr:用户屏幕分辨率
utmu:GA内部使用值,用以改进GA的统计,暂时没用
utmul:用户浏览器的语言
utmuwv:Google Analyitcs追踪代码的版本号

以上这些并不是全部的返回数据,只是Google Analyitcs追踪的基本数据。如果开通了电子商务追踪功能或是自定义了事件追踪。那么在返回Google服务器的链接中就会看到更多的变量值。比如:
utme:事件追踪数据
utmipc:用户购买的产品编号
utmipn:用户购买的产品名称
utmipr:用户购买的产品单价
utmtsp:运费
utmttx:税款

close