日志架构(六)服务端设计

[size=xx-large]方案图[/size]
[img]http://dl2.iteye.com/upload/attachment/0093/6723/5f0117cb-b4e6-3508-8aa8-ed11a71f6925.jpg[/img]

[size=xx-large]模块[/size]
[b]前端http日志接口[/b]
分为single log,array logs;
修改nginx配置,支持超长URL的提交;
日志采用logrotate切割,结合crontab实现分钟切割;

[b]收集器[/b]
主要采用flume
与nginx同机器部署agent,收集到collector,最终保存到hadoop1中;
主要采用rsync
在前端nginx服务器上开通rsync服务器端,具体开通办法可以参考:系统技术文档0005:部署rsync服务器,然后在hadoop的集群机器上将日志收集到本地,收集完成后删除前端日志服务器上相应的文件。Rsync收集命令如下:
rsync -azu --remove-sent-files $IP::NGINXLOG/logcenter.$THISHOUR*.log $MYPATH
收集之后把日志上传到hadoop集群。收集器每小时的第5分钟运行,收集上个小时生成的日志。日志上传到hadoop集群后调用解析器,解析日志。
收集器脚本:lcrsync.sh

[b]解析器[/b]
均实现map/reduce接口
格式解析器:从hadoop1读取消息,结合配置数据库,将消息解析(csv)并保存到hadoop1;负责拷贝解析后的日志从hadoop1到hadoop2
拷贝有3中方案:
Hadoop distcp <srcurl> <desturl> copy file or directories recursively
flume收取
rsync
Hadoop2的目录/logcenter/dest
内容解析器:将解析后的日志格式(csv),插入到hive中

[b]配置数据库[/b]
主要保存日志格式相关信息

[b]集群管理器(待定)[/b]
使用zookeeper实现
监控收解析器的工作状态
解析器集群锁

[b]日志中心管理系统[/b]
提供配置数据库的UI
结合日志配置提供日志开发文档
监控相关UI

[size=xx-large]配置数据库设计[/size]
具体字段及含义,请直接参照日志中心数据库SQL脚本


log_system:系统表
log_info:日志表
log_parameter:参数表
log_format:格式表
log_record:记录表
具体SQL脚本,请见附件

E-R图,如下所示:
[img]http://dl2.iteye.com/upload/attachment/0093/6743/25e321da-6c77-3e39-8768-2204b4dfd529.jpg[/img]

[size=xx-large]接口设计[/size]
[b]single log[/b]
[img]http://dl2.iteye.com/upload/attachment/0093/6751/d91af677-248f-331b-958e-3ae23e6e55ff.jpg[/img]

[b]array logs[/b]
[img]http://dl2.iteye.com/upload/attachment/0093/6753/124b8bd3-d557-3f4d-af07-7e973170b909.jpg[/img]

[b]Transfer logs[/b]
[img]http://dl2.iteye.com/upload/attachment/0093/6757/03aefd43-d553-3b9d-8644-cbe97f991340.jpg[/img]

[size=xx-large]关于准实时收集方案[/size]
Hadoop1为存放原始日志和CSV日志的集群
Hadoop2是用于hive分析的集群(运行hive会启动很多task和job)
对于准实时收集日志的方案。目前经过考虑有以下几种办法:
Flume collector中开发插件,边收集边解析,直接将结果存入到hadoop2中
开发tomcat,直接受理http请求,生成CSV文件,flume agent来收集并放入hadoop2中
开发nginx插件,解析请求生成CSV放入日志文件中,flume agent来收集并放入hadoop2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

猫头哥

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

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

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

打赏作者

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

抵扣说明:

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

余额充值