大数据

日志系统设计

2019-03-01  本文已影响0人  pcgreat
离线计算与微服务 (1).png

不可能为了每一个业务 , 都给你所有日志数据去给你做计算 , 这样没有意义且浪费时间。我们需要在日志 flink etl 过程中, 将日志划分给不同维度 ,比如说 将日志流量根据 groupID, appid 划分到不同的数据流 (groupID, appid 代表 来自某一app下某一业务服务流量 )。 我们需要把维度考虑到指标设计当中去 。

提出两点 维度 与指标
维度 : 时间 维度 , 空间维度 , 业务维度

业务日志收集指标

字段名
意义
sys_time
日志时间
sys_ip
宿主机 ip
sys_topic
kafka 的topic
sys_content
日志内容
sys_groupname
分组名
sys_appname
应用名
sys_groupId
分组id
sys_appId
应用id
sys_uuid
日志的唯一id

整个日志格式 为json ,sys_content 也为json 格式

举个例子吧 , 每秒统计一次 ,成功的订单数 , 商品数 的
{
userId : "0123" ,
orderId : "订单id",
items:[ {itemId: 1 , name : 饼干} , {.....} ]
actionType : "buy",
state : "success" ,
}

业务同学 能够 从 业务日志的 进行 流式计算 ,离线计算的能力 。

nginx日志收集指标
一般情况 业务同学 拿不到全量的nginx 日志 。 但大数据同学 能拿到呀 , 同样也可以分析nginx accesslog 来 计算 成功的订单数 , 商品数 ,大同小异

trafik 日志收集指标

各种中间件日志收集

上一篇下一篇

猜你喜欢

热点阅读