通用组件系统设计之日志系统

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通用组件系统设计之日志系统1.文档历史

2.系统概述

针对目前从运维侧看到的一些问题(文件过大,打印信息缺乏标准),希望对日志系统进行规范。提供统一的API,定义一定的规则,并为有效支撑后续日志系统的发展提供支撑。

2.1.功能定义

日志的主要作用是用来还原现场,协助我们分析问题,帮助重现历史。在日常具体工作

中,用得最多的是协助我们直接定义问题的系统维护类日志,以及用来统计分析系统的运行状态的数据上报类日志。我们的日志未来也要具备这类能力。

2.1.1.系统维护类日志

系统维护类日志界别的分类如下。

为了辅助我们回溯相关问题,考虑到多个模块、多机器、多进程、多线程的问题,对日志进行区分,并设定一些参考格式,便于日志检索,如下供开发人员参考。

2.1.2.数据上报类日志

数据上报类日志严格遵从制定的格式,便于分析汇总。如下是以调用者身份上报被调用服务使用状态的日志格式。每一项之间用|分割,供参考。

2.2.性能定义

后端日志应该统一规范,通过API达成共识,并实现易用性。并发保持不交叉,写入能力应该发挥系统能力,并不再并发时降低。日志的格式应该统一。

验收办法,如下表:

编号并发用例场景完成时长(ms)检查

1 1线程单线程打印1000万行日志

2 10线程每线程打印100万行日志

3 10进程每进程打印100万行日志

每线程打印10万行日志

4 100线

5 100进

每线程打印10万行日志

2.3.系统设计

日志整体如下图,

编号模块职责

1 日志API 按统一规范打印日志,确保单台节点并发不乱,性能高

2 系统维护日志应用借助日志API输出的日志文件,用于系统维护

3 数据上报日志应用借助日志API输出的日志文件,用于数据上报

4 日志AGENT 在单台节点上,处理并上报结果到队列

1.对数据上报日志进行汇总处理,并形成结果

2.对系统维护日志践行检查预处理,并形成结果

5 日志收集队列Kafuka,用来汇总分散的日志

6 日志分析服务器从队列获取单节点日志结果,形成最终日志结果,输出到日

志仓库

7 日志仓库按制定格式存放日志,并建立索引

8 模块间调用门户呈现模块健康状态,供管理参考

9 集中日志呈现门户集中检索日志,供定位分析问题

2.4.门户UI参考

2.4.1.集中日志呈现门户

输入日志文件名,或者模块名,日期范围,给出所有日志列表。

2.4.2.模块间调用门户

用来描述系统间调用健康状态,同样也可以用来表达掉级的2.4.2.1.查询指定服务间调用情况

2.4.2.2.查看调用者依赖的被调使用情况

2.4.2.

3.查看按返回码和服务节点分布的情况

2.4.2.4.系统调用关系图

3.建设范围

编号内容备注

1 一期搞定日志API,解决系统维护日志的输出问题

4.系统设计

日志库功能设计要点

1.日志通用组件满足的需求。

1.C++和PHP统一日志目录和格式规范。

2.依据IP/服务名称/上下文编号,聚合和追溯日志。

3.记录服务接口,请求返回数据,正确性,响应时间等信息。

4.记录调用方,请求返回数据,正确性,响应时间等信息。

2.日志库的未来架构图。

1.规划设计图

3.日志库概要设计。

1.日志级别

1.所有级别的日志输出到同一个日志文件中;

2.DEBUG(开发人员调试日志)/INFO(业务流程日志)

/WARN(警告信息日志)/ERROR(系统错误日志);

3.ERROR级别日志,属于严重错误,需要开发人员及时处理,

反映系统服务质量和稳定性的重要指标;

2.定义通用返回码

3.接口调用方日志记录

1.log_client_req(客户端请求接口数据)

2.log_client_rsp(客户端请求后返回数据)

4.接口服务方日志记录

1.log_server_req(服务端接收请求数据)

2.log_server_rsp(服务端返回请求数据)

4.开发阶段分解和本期实现内容。

1.日志基础组件库开发(C++\PHP统一调用)(一期,本期实现)

2.日志分析上报和聚合(统一查询多台服务器日志,区分

IP/hostname)(二期)

1.日志分析统计运行质量(接口调用次数,正确率,响应时间等)(三

期)

日志库目录结构设计

•自动读取etc目录下的所有xml配置文件,xml文件以业务系统模块划分,新增的xml文件,在重启服务后,可以自动生成写日志文件。

•xml配置文件起到,服务日志先注册后使用。

•日志文件采用,日期自动更换回滚的写入方式。

接口通用返回码

返回码类型返回码编码返回码说明

成功0 调用成功

请求方错误1xxx 请求方错误

1001 请求参数字段缺失

1002 请求参数字段类型错误

1003 请求参数字段为空

1004 请求接口未找到

1005 请求接口报文格式解析错误

1006 请求接口版本号错误

1007 请求接口报文头字段错误

11xx 业务处理错误码

相关文档
最新文档