MySQLNet分布式系统之七:日志采集系统(1)

  日志对大型应用体系要平台进一步关键,系统日志采集、分析是系运维、维护与用户分析的底蕴。

同等、系统日志分类

  一般系统日志可分为三老大接近:

  1、用户作为日志:通过收集系统用户采取系统经过遭到,一名目繁多的操作日志。

  2、业务转移日志:特定业务场景需要,采集某用户在某时使用某功能,对某工作(对象、数据)进行有操作,由A变成B。

  3、系统运行日志:系统运作服务器资源、网络与基础中间件的情景进行定时收集日志分析。

 

仲、常见日志分析下场景

  日志采集分析是出于要求使,根据某种场景的消日志采集,采集的日记进行对的剖析。一般大的日志分析结果运用场景有:

  1、分析系统或者平台如何功效是无与伦比被欢迎:什么时候利用最多用户用,某个区域、某类用户以最多。有利于功能推广;有利于提升服务器资源从而增强用户体验。

  2、内容引进:根据用户平常看内容,采集相关日志,并由此分析后,将用户感兴趣之情节体系自动推荐给用户,从而升级用户站粘性。

  3、系统审计:对于下体系,采集操作日志、业务转移日志,有利于备查及供相关安全审计功能。

  4、自动化运维:场景微服务架构的系统或平台,对运维投入的求大,自动化部署及运维,可以削减运维的工作量及压力。系统运行环境日志采集、分析,可实现预警、服务器资源动态调配,有利于快速稳定排查故障。

  不同体系的运作环境、功能利用场景和需要募分析日志的需吗各不相同。日志内容、采集方式在多样性,日志数据量大,所以用规划相同模仿日志采集系统,满足日志采集要求,支持便捷将分析结果反捕于下效益。

 

其三、日志采集系统总体设计

  基于以上日志采集的开分析,尤其微服务架构中,微服务治理能力、服务负载需要借助服务日志的募集分析,所以日志采集子系统是微服务架构的底子支撑力量。日志采集系统总体设计如下:

MySQL 1

图1- 日志采集系统一体化框架示意图

  如达到图所示,根据日志整个过程,系统由三片组成:日志采集、日志存储&分析及结果运用。日志采集主要担负提供多法开展采访日志;日志存储&分析重点实现分析统一存储和定制的景分析日志;结果使用实现用日志分析结果提供劳务接口或者默认的军事管制效能,供下效益采用。

  日志采集整体过程:日志采集后,通过在线或者离线传输到消息队列,由日志消费应用拉取后开展仓储。根据分析需要定制自动作业任务落实日志数据抽取、转换、统计后,将结果数据勾勒副关系项目数据库。提供服务接口或者日志查询默认管理职能拓展下。

1、日志采集

  日志采集实现三栽方式展开采日志:

  (1)WebAPI方式:实现基于http协议
restful方式采集日志数据,并发送至信息队列。主要用来提供移动端、微信公众号与小量日志采集利用,在NET分布式系统上而组合“API网关”使用。

  (2)Service
Proxy方式:基于log4.net优秀之日记组件和消息队列客户端驱动,进行包装为日志记录服务代办,提供方便、统一的接口供应用进行利用。支持以日志记录及用本地和在线实时发送到信息队列,其中记录及下本地,可结合第三种植艺术完成应用效益日志采集的功用。

  (3)LCClient方式:实现客户端批量抓取日志数据,发送至LCServer。LCClient客户端基于TCP协议和LCServer服务端进行通信,基于NIO框架构建,可支持大起处理能力。LCServer双重以日志数据勾勒副消息队列。

  日志采集通过提供三种植艺术,满足不同的事务应用场景下搜集日志。

2、日志存储&分析

  日志存储和分析由五组成部分组成:消息队列(MQ)、日志接收服务端(LCServer)、日志存储(Elasticsearch)、任务作业(Quartz.net)及涉及项目数据库(MySQL)。

  (1)消息队列(MQ):日志通过信息队列实现信息统一接受,做并缓冲,满足日志数据出现接收能力。

  (2)日志接收服务端(LCServer):接收LCClient客户端批量发送日志数据,并以其发送到信息队列。

  (3)日志存储(Elasticsearch):选用ES做日志存储,主要考虑ES是平种植文档化分布式搜索服务,支持PB级的数量存储,支持广大只节点的分布式集群能力,并且提供丰富的API使用,数据查询者有着优越的特性。

  (4)任务作业(Quartz.net):通过定制化开发作业任务落实对ES日志数据抽取、转换、分析后,将结果存储于干项目数据库。Quartz.net中间件是业界公认的作业任务组件。

  (5)关系项目数据库(MySQL):实现日志结果数据存储,供日志应用查询利用。MySQL有着优越的主从复制机制,可迎刃而解单节点查询性能瓶颈,同时提供传统SQL脚本操作数据的力量,提供开发效率。

  日志数据存储和剖析后,最终目的就是提供以及用功能利用。

3、分析结果用

  分析结果以关键提供劳务接口及管理作用两种植艺术。

  (1)服务接口方式:基于http协议为restful方式提供接口,支持下效益方便调用。

  (2)管理模块方式:默认提供平等仿日志查询管理力量,方便给采用直接集成以。

 

四、总结

  日志采集自己也是一个分布式系统,服务端每个节点都支持分布式集群部署,可实现高并发、高可用性。本文特是同等栽抛砖引玉,系统每个组件还得强化详细,同时也囊括执行部署。

 

 

作者:刘蔡涛
出处:http://www.cnblogs.com/Andon_liu 
有关作者:专注于微软平台项目架构、管理。熟悉设计模式、领域让、架构设计、敏捷开发同种类管理。现重要从事ASP.NET
MVC、WCF/Web API、SOA、MSSQL、redis方面的类型开发、架构、管理工作。
如有题目要么建议,请一起上座谈! 
正文版权归作者和博客园共有,欢迎转载,但未经作者同意要保留这个段子声明,且当文章页面明显位置给出原文连接。 
倘若有题目,可以邮件:568773262@qq.com 联系自身,谢谢。

微信号: MySQL 2

 

网站地图xml地图