初学耗时:0.5h

注:CSDN手机端暂不支持章节内链跳转,但外链可用,更好体验还请上电脑端。

一、扩展 Flume 采集数据   1.1  Flume 采集。
  1.2  数据内容样例。




记忆词:

  filegroups、positionFile

 Z05 - 999、网站流量日志分析


 ギ 舒适区ゾ || ♂ 累觉无爱 ♀







一、扩展 Flume 采集数据

  1.1 ~ Flume 采集。
  • Flume 采集系统的搭建相对简单:
    1、在服务器上部署 agent 节点,修改配置文件
    2、启动 agent 节点,将采集到的数据汇聚到指定的 HDFS 目录中
  • 针对 nginx 日志生成场景,如果通过 flume(1.6)收集,无论是 Spooling Directory Source 和 Exec Source 均不能满足动态实时收集的需求,在当前 flume1.7 稳定版本中,提供了一个非常好用的 TaildirSource,使用这个source,可以监控一个目录,并且使用正则表达式匹配该目录中的文件名进行实时收集。
  • 核心配置如下:
a1.sources = r1
a1.sources.r1.type = TAILDIR
a1.sources.r1.channels = c1
a1.sources.r1.positionFile = /var/log/flume/taildir_position.json
a1.sources.r1.filegroups = f1 f2
a1.sources.r1.filegroups.f1 = /var/log/test1/example.log
a1.sources.r1.filegroups.f2 = /var/log/test2/.*log.*
  • filegroups:指定 filegroups,可以有多个,以空格分隔;(TailSource 可以同时监控tail 多个目录中的文件)
  • positionFile:配置检查点文件的路径,检查点文件会以 json 格式保存已经 tail 文件的位置,解决了断点不能续传的缺陷。
  • filegroups.:配置每个 filegroup 的文件绝对路径,文件名可以用正则表达式匹配通过以上配置,就可以监控文件内容的增加和文件的增加。产生和所配置的文件名正则表达式不匹配的文件,则不会被 tail。
  1.2 ~ 数据内容样例。
58.215.204.118 - - [18/Sep/2018:06:51:35 +0000] "GET /wp-includes/js/jquery/jquery.js?ver=1.10.2 HTTP/1.1" 
304 0 "http://blog.fens.me/nodejs-socketio-chat/" "Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 
Firefox/23.0"
  • 字段解析:
  1. 访客 ip 地址: 58.215.204.118
  2. 访客用户信息: - -
  3. 请求时间:[18/Sep/2018:06:51:35 +0000]
  4. 请求方式:GET
  5. 请求的 url:/wp-includes/js/jquery/jquery.js?ver=1.10.2
  6. 请求所用协议:HTTP/1.1
  7. 响应码:304
  8. 返回的数据流量:0
  9. 访客的来源 url:http://blog.fens.me/nodejs-socketio-chat/
  10. 访客所用浏览器:Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0



明月松间照,清泉石上流。

- - - - - - - - - - - - - - - - - - - - - - - - - - - -




^ 至此,扩展 Flume 采集数据完成。




- - - - - - - - - - - - - - - - - - - - - - - - - - - -

※ 世间诱惑何其多,坚定始终不动摇。

结构化程序设计把程序的结构分解成三种基本模块:_____,循环机制和二分决策机制。
处理单元

flume采集nginx到卡夫卡_Flume采集