通用组件系统设计之日志系统_第1页
通用组件系统设计之日志系统_第2页
通用组件系统设计之日志系统_第3页
通用组件系统设计之日志系统_第4页
通用组件系统设计之日志系统_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通用组件系统设计之日志系统1. 文档历史日期作者备注2017-10-14阳荣安创建2017-10-17高勇增加系统概述一节2. 系统概述针对目前从运维侧看到的一些问题(文件过大,打印信息缺乏标准),希望对日志系统进行规范。提供统一的API,定义一定的规则,并为有效支撑后续日志系统的发展提供支撑。1.2.2.1. 功能定义日志的主要作用是用来还原现场,协助我们分析问题,帮助重现历史。在日常具体工作中,用得最多的是协助我们直接定义问题的系统维护类日志,以及用来统计分析系统的运行状态的数据上报类日志。我们的日志未来也要具备这类能力。2.1.1. 系统维护类日志系统维护类日志界别的分类如下。编号级别描

2、述1DEBUG调试应用程序使用2INFO突出强调关键动作3WARN出现了预知的错误4ERROR出现不期望的故障,还能hold住5FATAL严重问题,搞不定了为了辅助我们回溯相关问题,考虑到多个模块、多机器、多进程、多线程的问题,对日志进行区分,并设定一些参考格式,便于日志检索,如下供开发人员参考。编号内容备注1日志级别DEBUG2日期时间20171017-155600-1233机器节点192.168.0.14模块名ORDER5文件名Main.cpp6文件行号127进程号1238线程号119日志消息体灵活定义,建议控制大小在一定范围内2.1.2. 数据上报类日志数据上报类日志严格遵从制定的格式,

3、便于分析汇总。如下是以调用者身份上报被调用服务使用状态的日志格式。每一项之间用|分割,供参考。编号内容例子1版本12日期时用方IDCGI4调用方所在节点 IDWX15被调方IDORDERSVR6被调方节点IDLG17服务与方法IDCreate8返回码09耗时10ms2.2. 性能定义后端日志应该统一规范,通过API达成共识,并实现易用性。并发保持不交叉,写入能力应该发挥系统能力,并不再并发时降低。日志的格式应该统一。验收办法,如下表:编号并发用例场景完成时长(ms)检查11线程单线程打印1000万行日志210线程每线程打印100万行日志310进程每进程打印100万行日

4、志4100线程每线程打印10万行日志5100进程每线程打印10万行日志2.3. 系统设计日志整体如下图,编号模块职责1日志API按统一规范打印日志,确保单台节点并发不乱,性能高2系统维护日志应用借助日志API输出的日志文件,用于系统维护3数据上报日志应用借助日志API输出的日志文件,用于数据上报4日志AGENT在单台节点上,处理并上报结果到队列1. 对数据上报日志进行汇总处理,并形成结果2. 对系统维护日志践行检查预处理,并形成结果5日志收集队列Kafuka,用来汇总分散的日志6日志分析服务器从队列获取单节点日志结果,形成最终日志结果,输出到日志仓库7日志仓库按制定格式存放日志,并建立索引8模

5、块间调用门户呈现模块健康状态,供管理参考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统一

6、日志目录和格式规范。2. 依据IP/服务名称/上下文编号,聚合和追溯日志。3. 记录服务接口,请求返回数据,正确性,响应时间等信息。4. 记录调用方,请求返回数据,正确性,响应时间等信息。2. 日志库的未来架构图。1. 规划设计图3. 日志库概要设计。1. 日志级别1. 所有级别的日志输出到同一个日志文件中;2. DEBUG(开发人员调试日志)/INFO(业务流程日志)/WARN(警告信息日志)/ERROR(系统错误日志);3. ERROR级别日志,属于严重错误,需要开发人员及时处理,反映系统服务质量和稳定性的重要指标;2. 定义通用返回码3. 接口调用方日志记录1. log_client_r

7、eq(客户端请求接口数据)2. log_client_rsp(客户端请求后返回数据)4. 接口服务方日志记录1. log_server_req(服务端接收请求数据)2. log_server_rsp(服务端返回请求数据)4. 开发阶段分解和本期实现内容。1. 日志基础组件库开发(C+PHP统一调用)(一期,本期实现)2. 日志分析上报和聚合(统一查询多台服务器日志,区分IP/hostname)(二期)3. 日志分析统计运行质量(接口调用次数,正确率,响应时间等)(三期)日志库目录结构设计 自动读取etc目录下的所有xml配置文件,xml文件以业务系统模块划分,新增的xml文件,在重启服务后,可以自动生成写日志文件。 xml配置文件起到,服务日志先注册后使用。 日志文件采用,日期自动更换回滚的写入方式。接口通用返回码返回码类型返回码编码返回码说明成功0调用成功请求方错误1xxx请求方错误1001请求参数字段缺失1002请求参数字段类型错误1003请求参数字段为空1004请求接口未找到1005请求接口报文格式解析错误1006请求接口版本号错误

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论