"海量日志分析系统实践"分享总结
概述:
此分享是关于海量日志分析系统实践的汇总
?
汇总点:
基于MySql;分析指标有,Hits、带宽、UIP(独立用户IP)、下载速度、下载时长、响应时间、受访URL、受访域名、来路URL、来路域名、全国用户分布统计、运营商分布统计、受访文件大小、文件类型、Squid命中率、请求响应类型、异常用户统计;海量数据,写多读少;节点包括:A(Agent) 、B(Bee) 、D(Data) 、M(Manger) 、R(Relay) ;采集节点利用Rsync实现推送日志到B点;运算节点根据需求分析日志并推送到D点;R节点保障数据传输的速度及效率,减少网络问题导致的数据阻塞及不完整性;D节点负责将接收到的sql文本入库;表细分汇总包括m_表、h_表、d_表等;展示节点基于web数据库访问层基于Amoeba;管理节点掌握各大节点的系统运行状况,资源使用情况;D节点中采用热数据来缓解DB的压力;在MyISAM表中尽量使用定长类型;将IP字段存储为整形;使用merge表,对于过期的只读表进行myisampack,使用enum 使PROCEDURE ANALYSE() ,根据业务需求将产品线及时间建立联合索引;Mysql架构优化包括增加节点、分库分表、将m,h,d表的索引文件及数据文件分布到不同磁盘、将数据库指向不同的磁盘、禁止系统更新文件的atime属性;使用tmpfs作cache磁盘(ramdisk);采用infobright版;基于mysqlnd做性能测试;基于Memcache多级缓存;
?
技术:
Gearman 用于分布式节点的管理;Memcached 缓存数据;Amoeba 展示层数据库代理;INFOBRIGHT的ICE版;
?
更多详情参见附件