3.5 日志分析以及报表 10
3.6 系统框架 11
4. 客户端组件 13
4.1 日志收集 13
5. 服务端组件 17
5.1 异步模型以及带来问题和解决方法 17
5.2 日志订阅系统 22
5.3 代理模式 25
6. 日志分析模块和监控系统 26
6.1 日志分析 26
6.2 监控系统 27
7. 表现层设计 27
7.1 表现层作用 27
7.2 使用框架——Tornado 27
7.3 数据通信——WebSocket 28
7.4 系统结构 29
7.5 系统界面效果图 29
总结 31
致谢 32
参考文献 33
1. 绪论
本章将对研究的内容和背景进行简单的介绍,并且描述当前已经存在的分布式文件系统,包括实现方式、原理和现状。同时也会描述日志对于一个系统的重要性,以及分布式文件系统在日志收集中的作用,即分布式日志系统的构成和作用。
1.3 研究背景和意义
随着基础设施的愈发健全,人们对于从互联网获取信息越来越依赖,使得互联网产品的服务受众越来越多,承载信息越来越复杂,应用场景也越来越丰富,导致无论是从计算量还是传输量上,挑战越来越大,原有的计算模型无法很好的满足这种需求,于是“分布式”这个概念呼之欲出了。
通过上文,其实我们可以从两个方面来理解分布式,分别针对计算量和传输量,也就是“分布式计算”和“分布式存储”。分布式计算就是通过一些算法,将大计算量的任务拆分成小计算量的任务,分配给不同的计算系统,最后再合并成一个完整的计算结果,而且能够满足计算能力随着节点的增加,可以线性增加;而所谓的分布式存储采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。
日志系统又是什么呢?当我们在写程序的时候,遇到一个程序漏洞,我们需要输出一些程序运行时候的状态,确定系统内部的数据流动情况。当我们需要监控一个系统的 数据流动情况时候,很简单,我们也需要系统能够输出一些状态信息,当我们对这些信息做一些简单的加工,删除掉一些无用信息,添加一些和特点业务绑定的信息后,就是我们所说的日志了。对于一个大型网站,日志有助于网站排错以及一些关键模块的运行状态监控,加上一些数据分析的技术以后,还可以得到报表,决定业务走向和产品的形态。所以对于一个成熟的系统,日志是最重要的东西,要做到不丢,不错,安全备份。