日志分析系统研究

摘要:
保存到日志占用的容量较少,但您需要编写自己的脚本来分析日志。保存到documentdb会占用相对较大的容量。然而,数据库本身提供了多种查询解决方案,可以轻松快速地查询所需的结果和统计信息。对有效性的要求不高。因此,一般做法是打开服务器访问日志,并定期使用awk每天分析日志,整理统计数据并将其转换为系统可以识别的格式。

方案一:

保存到日志文件中或者保存到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很高时,日志的内容如果还需要处理的话问题会比较多

免责声明:文章转载自《日志分析系统研究》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇python中常用的文件和目录操作(二)java实现安全证书相关操作下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

VMP加壳(二):VMP的虚拟化原理

由于CPU只能识别和执行二进制文件,并直接让硬件CPU执行虚拟机的二进制代码,因此只能考虑通过纯软件模拟虚拟机执行代码指令。为了在软件级别模拟CPU执行二进制代码指令,一般的虚拟机指令要么是操作寄存器,虚拟机指令的处理程序必须模拟这些函数。它用于指示虚拟CPU当前执行的代码。为了满足上述要点,2。VMP虚拟机的执行过程(1)考虑启动VT。...

android studio如何查看数据库文件

Android Studio可以通过两种方式查看数据库文件:1。SQLCOUT优点:功能强大。缺点:解决麻烦。2.Android DeviceMonitor中FileExpoler的优点:免费缺点:需要导出数据库并使用数据库可视化工具查看;手机需要root获得su权限,并通过adb命令修改/data/data/data下数据库文件的访问权限。具体修改方法:...

windows 常用命令行操作

目录操作˃pwd打印当前工作目录,通过此关键词可以查看当前所处的路径˃cd更改目录,用于多个目录之间的切换具体输入:cd目录名cd目录名/子目录名(可通过此方式到达最底层的目录)cd~(返回home目录)cd..(返回上一级目录)cd../..(返回上两级目录)cd盘符名:(不同盘符间跳转,cd后面跟上路径则可实现精准跳转)˃mkdir创建目录具体输入:mk...

安装qmake与环境变量解析

如果你已经有了qmake,可以跳过这里,请看10分钟学会使用qmake。手动安装qmake在手工连编Qt之前,下面这些环境变量必须被设置:QMAKESPEC这个必须设置为你所使用的系统的平台和编译器的组合。当编译完成时,qmake已经可以使用了。这里对添加环境变量时,是在path里头添加,还是new一个变量有点疑惑。而如果是new的话,当我们在为程序添加路径...

Elasticsearch之插件介绍及安装

3.KopfPlugin(主要)Kopf是ElasticSearch的管理工具。它还为ES集群操作提供了API。4.级别插件级别工具可以帮助用户监控ElasticSearch的运行状态。但是,此插件需要许可证。安装许可证后,您可以安装marvel的代理。代理将收集弹性搜索的运行状态。ES插件HeadPlugin的在线安装需要转到https://github....

注解@Slf4j

如果不想每次都写privatefinalLoggerlogger=LoggerFactory.getLogger(XXX.class);可以用注解@Slf4j一、在pom文件加入依赖org.projectlomboklombok二、代码packagecom.se...