zoukankan      html  css  js  c++  java
  • 日志分析系统研究

    方案一:

    保存到日志文件中或者保存到document db(如mongodb)都是一个优秀的解决方案。

    保存到日志的话相对占用容量较少,不过需要自己写脚本分析日志。

    保存到document db的话相对占用容量较大,不过db自身提供多种查询解决方案可以很方便快速的查询自己想要的结果

    统计信息对于实效性要求都不高,所以一般的做法是:

    1. 开启服务器访问Log
    2. 每天定期使用awk对log进行分析,整理出统计数据并转换为系统可以识别的格式。
    3. 定期使用程序将分析出来的数据入库

    一般像排行榜这种东西一天后台运行一次入库程序就可以了,时段选在深夜。

    如果对于及时性要求比较高的统计数据,可以考虑NoSQL,关系型数据库可以考虑延迟插入

    方案二:

    可以对每个操作发送一个url到日志服务器上

    然后离线对日志服务器上的日志进行分析、

    方案三:

    1.使用数据仓库-infobright

    2.日志根据不同表或功能按以文件形式存储到服务器

    3.使用计划任务每段时间把文件load data infile到数据仓库

    方案四:

    Fluentd + Mongodb

    方案五:

    不太清楚你们网站的规模,如果你们网站的pv在5000w以上的换,强烈不建议使用数据库记录日志,如果你用的是apache服务器,可以将日志写到web服务器上,然后将日志收集到分布式平台上(hadoop)
    目前我们公司使用的是flume收集日志然后写入到hadoop数据平台上,通过hive方便非hadoop编程人员写统计脚本
    flume介绍http://www.docin.com/p-278791827.html
    另外不知道你们是不是打算用php去写日志,如果用php的话,当pv很高时,日志的内容如果还需要处理的话问题会比较多

  • 相关阅读:
    ASP.NET常见安全缺陷集锦[转]
    林黛玉出家:给予中国给予我们的警示![摘]
    关于管理 关于经营 还有很多东西都无从做好
    ASP.NET 2.0的新增服务、控件与功能
    将可视的DataGrid、DataList等的规范表数据导出并写入xls或doc格式保存
    2006全球最具影响力品牌
    .NET环境下水晶报表使用总结[转]
    Asp.net(C#)分层——基础类
    Asp.Net传参方式小结
    MSN签名都成了广告位
  • 原文地址:https://www.cnblogs.com/Alight/p/4502516.html
Copyright © 2011-2022 走看看