求解统计系统设计的一些技术方案和实现
数据源:
1、mysql
2、日志文件
呈现:
1、csv文件导出或者发送邮件
2、提供接口数据给web呈现图标
当前涉及的一些技术点:
从日志文件读取数据主要是 shell + awk ,从 mysql 主要是 php 读取数据存储到文件,之后通过 php 或者 shell 来进行一些运算或者统计处理, 相应数据入库或者发送邮件提供给需求方。
目前项目积累了大量的脚本,和一些临时性的解决办法(零散脚本),而且随着数据的增长, mysql 这部分效率也越来越慢, 复杂的脚本已经变得越来越难维护。这些脚本有一些是需要的时候手工跑一次,还有很多是定时跑,如果继续下去已经快不可控了。
寻求一套从数据入口到数据呈现的解决方案,或者是各位有经验的同学分享分享。
日志文件存储在 hadoop 上一部分,目前没有写 mapreduce 直接去处理这部分。
->3Q
回复内容:
从数据源到数据呈现说说目前的情况吧,
数据源:
1、mysql
2、日志文件
呈现:
1、csv文件导出或者发送邮件
2、提供接口数据给web呈现图标
当前涉及的一些技术点:
从日志文件读取数据主要是 shell + awk ,从 mysql 主要是 php 读取数据存储到文件,之后通过 php 或者 shell 来进行一些运算或者统计处理, 相应数据入库或者发送邮件提供给需求方。
目前项目积累了大量的脚本,和一些临时性的解决办法(零散脚本),而且随着数据的增长, mysql 这部分效率也越来越慢, 复杂的脚本已经变得越来越难维护。这些脚本有一些是需要的时候手工跑一次,还有很多是定时跑,如果继续下去已经快不可控了。
寻求一套从数据入口到数据呈现的解决方案,或者是各位有经验的同学分享分享。
日志文件存储在 hadoop 上一部分,目前没有写 mapreduce 直接去处理这部分。
->3Q
0、方案取决于你的目标和团队实力。自建方案的复杂度和你的期望成正比,和数据量成正比。
1、你可以研究一下Splunk或者Logstash + ES + Kibana这两个方案,相信会有惊喜。
2、如果还想更深入,可以了解一下SIEM。
3、Dirty And Quick是一种选择;Flexable是另一种选择。
源数据整理好格式,定好Schema,用Hive统计,用Oozie定时跑作业,结果放在约定好的地方,用Web呈现。
基本上都是这么个套路。
只能采纳一个答案.
其实这是一个讨论性的话题,希望有更多的人参与吧。