页面日志采集:ngix+logstash+kafka

原创 2018年04月15日 21:40:04

        页面日志采集是指从页面上采集用户行为,将用户行为信息记录成日志,并将日志信息读取到消息队列的过程。一种比较常用的日志采集技术工具是:ngix+logstash+kafka。

       进行页面日志的采集,需要在页面的最下端埋一个js代码片段。这个js代码片段通常在</body>的前面。这个js代码片段中有一行核心的代码:“src=XXXX/track.js”。当访问这个页面的时候,会从数据采集服务器上下载track.js。当页面渲染完成之后,会执行这个js,js就会采集到想要的数据,在track.js的最后会向数据采集服务器发送一个请求log.gif?args=……,数据采集服务器会立即返回一个“1*1”像素的图片,又来有回,意味着这次请求结束。在数据采集服务器的内部,会有一个内部的请求,相当于开了一个线程,这个线程专门用于记录log,将track.js发送过来的请求参数用log的形式写到日志文件里面。

       可以通过修改ngix的配置(log_format tick{}),来定义log的形式。当log文件产生之后,可以通过flume、logstash等实时采集工具将数据写到消息队列中。这里使用kafka作为消息队列。

       使用logstash将log文件的内容写到kafka里面,主要是配置logstash的配置文件,例如下面编写的logstash的配置文件(flow-kafka.conf),用于将log数据写到kafka中。

input{
        file{
          path=>"/home/hadoop/logs/ngix_logs/dir01/*.log"
          discover_interval=>5
          start_position=>"beginning"
        }
}
output{
   kafka{
         topic_id=>"ngixGamelog02"
         codec=>plain{
                format=>"%{message}"
                charset=>"UTF-8"
         }
         bootstrap_servers=>"mini02:9092,mini03:9092,mini04:9092"
   }
}

         接下来就是在集群上,启动kafka、logstash,进行页面数据采集:

//启动kafka
//1、需要先启动zookeeper
zkServer.sh start
//2、检查zookeeper是否启动成功
zkServer.sh status
//3、在集群上启动kafka
kafka-server-start.sh export/servers/kafka/config/server.properties &
#启动logstash进行数据采集
./export/servers/logstash/bin/logstash agent -f ./export/servers/logstash/config/flow-kafka.conf

flume分布式日志采集系统实战

随着公司业务的不断增长,划分了许多应用,不同应用的日志在不同服务器上面,很难进行统一管理,通过学习该课程,你可以自己搭建日志采集系统,可以进行数据分析,挖掘等工作
  • 2016年09月27日 22:32

界面、服务之间的数据交互

//1 public static Handler handler; //2 handler=new Handler(){ //这是默认的方法 @Override public v...
  • qq503690160
  • qq503690160
  • 2017-12-27 15:55:42
  • 59

flume日志采集

  • 2018年04月02日 16:23
  • 43B
  • 下载

日志采集——架构分类

角色 Agent 消息收集点,运行于消息产生源,分为三个角色: Adaptor,他从物理文件、sock、unixsock、标准输入等抽取原始消息,处理Filter,对不同的消息类型对...
  • anghlq
  • anghlq
  • 2016-01-19 15:29:56
  • 1838

大数据日志收集框架之Flume入门

Flume是Cloudrea公司开源的一款优秀的日志收集框架,主要经历了两个大的版本,分别是  Flume-OG  Flume-NG  OG是0.9.x的版本,依赖zookeeper,角色职责不...
  • u010454030
  • u010454030
  • 2016-02-29 13:49:33
  • 921

Flume 构建高可用可扩展的海量日志采集系统

  • 2018年02月08日 10:40
  • 70.78MB
  • 下载

一种日志采集装置和日志采集方法

摘要 本发明涉及一种日志采集装置和方法。其中装置包括至少一个用于日志收集的客户端和至少一个用于日志记录的服务器;所述客户端和服务器之间通过网络进行实时的日志信息发送。方法包括:客户端生成日志信息...
  • baidu_24932821
  • baidu_24932821
  • 2016-01-09 10:42:29
  • 2377

Flume++构建高可用、可扩展的海量日志采集系统

  • 2018年01月05日 15:07
  • 71.06MB
  • 下载

一种日志采集装置及方法

摘要 本发明提供了一种日志采集装置及方法,其中,日志采集装置包括:日志监控模块,用于监控当前服务器上的多个应用系统的日志文件;确定各日志文件新增的记录,并保存各日志文件以及新增的记录;数据传输服...
  • baidu_24932821
  • baidu_24932821
  • 2016-04-09 13:52:40
  • 2193

完全版: Flume 构建高可用、可扩展的海量日志采集系统

  • 2017年01月19日 16:02
  • 48B
  • 下载
收藏助手
不良信息举报
您举报文章:页面日志采集:ngix+logstash+kafka
举报原因:
原因补充:

(最多只允许输入30个字)