日志架构(四)核心框架

[size=xx-large]日志数据流[/size]
[img]http://dl2.iteye.com/upload/attachment/0093/6636/064b56c3-0147-3c72-a066-3e822e4530be.jpg[/img]
其中在nginx部位,可以获取access.log,用返回的红色箭头获取upstream参数。

[size=xx-large]日志处理架构[/size]
[img]http://dl2.iteye.com/upload/attachment/0093/6638/44ed5727-cecb-3084-96fc-a09d21fd1b04.jpg[/img]

[img]http://dl2.iteye.com/upload/attachment/0093/6640/fbb38707-b5be-36d2-8a90-dae3f3fb0172.jpg[/img]

[b]日志中心--存储服务器[/b]
1.Nginx:跨域的GET请求1像素的图片,可以记录request,response里的cookie,head,query等信息
http://analytics.xxxx.com/__utm.gif?a=11&b=222&c=333
关键参数:系统key,版本信息,时间戳,日志参数;
OtherClick
[img]http://dl2.iteye.com/upload/attachment/0093/6642/ec587226-9176-3b56-8a23-a97fb840feea.jpg[/img]
多条日志
[img]http://dl2.iteye.com/upload/attachment/0093/6646/77b43166-33d3-36da-8c1d-fb252a1b856e.jpg[/img]

[b]日志中心--配置服务器(or 配置组件)[/b]
http:// analytics.xxxx.com/conf/
供解析模块使用
对外提供page,为开发人员提供配置的UI
用mysql保存日志格式;
主要数据结构:
系统表(systemId,系统名,中文描述,负责人,联系方式),
参数表(parameterId,参数名,参数简写,参数描述,参数位置head,body,common),
日志表(logId,logName,logPath,creater,creaerTime)
格式表(logId,parameterId,index)
关联表(systemId,formatId,logId)
主要确定map参数中的index,达到与日志格式一致的效果

[b]日志过滤器[/b]
Filter:处理WEB项目的日志;
在chain.doFilter(request, response);方法之后,直接根据参数规范,从中取出前缀的参数并异步发送GET请求保存日志
重定向发日志
公共参数(系统ID,timestamp)在拦截器(filter,aop)里插入

AOP:处理服务类的日志;
在after处从本地队列中取出,直接异步发送GET请求保存日志

注:实现分为3阶段
1)无缓存
2)过滤器缓存
3)(消息中间件,memcacheQ-支持落地,redis),服务端统一来收集

[b]JS组件[/b]
参照GA(1像素图片的跨域请求,后接具体参数及时间戳);
包装发送请求的组件
Other click组件
方案一(废弃):
样式:
<style>
.log_container { display:none; width:0px; heignt:0px; }
</style>

模版:
<div class="log_container">
<input type="hidden" id="" value="" />
<input type="hidden" id="" value="" />
</div>

其中style会定义在公共的css中
方案二:
将参数放到head中,可以解决servlet的日志,请求图片,ajax请求JSON的问题,
特殊字符的处理:html特殊字符,逗号,分号

其中移动网关,有可能会过滤head,需要进一步考虑。

[b]日志组件[/b]
javaLogComponent日志公共组件
JSP标签
保存日志的公共前缀
设置单值到request中,自动追加前缀(前端已经取得的数据,后端不传回)
统一日志头到组件中--参考用户中心,WWW/WAP的日志头是统一的
自动缓存发送日志文件到日志中心(可选功能)
单条发送日志到日志中心(可选功能)

[b]日志中心的实现技术[/b]
nginx + hadoop + tomcat + flume + mysql

[size=xx-large]日志中心方案对比[/size]
[table]
||统一nginx|日志中心http接口|
|日志格式配置|无法结构化管理|可以保存在mysql中|
|管理UI实现|难度较大|容易|
|日志文件|分散在nginx|统一在日志服务器上|
[/table]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫头哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值