您的位置:首页 > 运维架构

(2)Storm实时日志分析实战--Topology的设计

2016-12-26 15:26 253 查看

需求

日志数据样例:

215.187.202.215 - - [1481945172991] “GET/IBEIfeng.gif?order_id=1&orderTime=1481945172991&memberId=1234568970080798&productInfos=10009-2703.88-B-1|10001-2494.47-D-2|10003-2561.05-A-1&orderAmt=10253.87 HTTP/1.1” 200 0 “-” “Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko)

字段:

变量名对应数据
ip用户ip
serverTime服务器实际
requestUrl请求地址
httpRefer映射信息
userAgent用户信息
orderInfo订单信息
需求:

统计分析 每天、每小时、每分钟 各个IP访问量

统计 每天、每小时、每分钟 被访问的url 的次数

统计 外链数

解析userAgent获取得到 浏览器信息 操作系统信息,统计统计 每天、每小时、每分钟访问客户使用浏览器或者操作系统情况

orderInfo order_id=2&orderTime=1481945173124&memberId=4958868887900989&productInfos=10001-217.40-B-1|10003-2561.05-A-1&orderAmt=2778.44

分析订单信息得到基于用户的消费情况

基于商品

统计销售额

处理流程



KafaSpout

负责从Kafka集群读取日志信息

LogParserBolt

将日志记录进行解析,抽取出所需的字段

数据传递:



RequestUrlParserBolt

抽取url,获取orderInfo

数据传递:



HttpReferParserBolt

数据传递:



UserAgentParserBolt

用户浏览器和操作系统的信息

数据传递:



CountUrlBolt

负责统计url

数据传递:



CountOutLinkBolt

统计外部链接

数据传递:



CountBrowserBolt

负责统计浏览器

数据传递:



CountSearchKeyBolt

负责统计搜索关键字

数据传递:



CountOsBolt

负责统计用户操作系统信息

数据传递:



CountIpBolt

统计用户的ip

数据传递:



SaveBolt

负责数据最后的保存

数据传递:



优化

上面有多个负责统计的CountXXXBolt,现在设计一个通用的CountKipBolt



即最后的流程如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: