架构设计图

Alt text

几层设计

日志上报

依赖于上报的SDK进行日志上报,将线上的INFO/NOTICE/WARNING/ERROR/FATAL类日志上报到日志服务器。业务上分为三类日志:

  • 展现日志,标志页面的一次展现
  • 交互日志,标志用户在页面中的交互行为
  • 系统日志,标志系统运行状态,运行错误等

Kafka

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。上报的日志通过flume日志手机系统传输到Kafka中,通过不同的topic上报,数据在Kafka集群中保存一段时间,需要保证数据要在此段时间内被消费。

消费层

通过消费程序对KafKa中的数据进行实时消费,通过offset来记录消费的标志位,根据不同业务特点进行计算和数据聚合。

MongoDB

依赖NoSQL的非关系型、分布式、水平可扩展等特点。选用MongoDB进行数据存储,利用了MongoDB的Sharding,优秀的查询性能进行数据查询。值得一提的是MongoDB从4.0版本开始支持ACID。

数据监听

对单错误,单页面,单项目,单域名级别进行不同层面的数据监听,监控页面和项目的健康程度,根据阈值进行不同程度的报警监听。

业务接口

  • 根据不同人员对不同项目的配置规则,将触发默认规则和自定义规则的报警项进行预警,支持短信,电话,邮件钉钉等。
  • 针对重点的错误和特定的情景进行场景重现,通过Selenium集群复现用户的操作情况和报错信息。

平台展示

  • 对域级别项目级别和单个错误级别的错误状况进行展示。
  • 针对接口请求的情况进行监听展示。
  • 项目的注册以及项目人员的管理。
Last Updated: 12/7/2018, 3:15:34 PM