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

下载本文档

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

文档简介

通用组件系统设计之日志系统in1.文档历史2.系统概述2.系统概述:口日期作者备注2017-10-14阳荣安创建2017-10-17高勇增加系统概述一节针对目前从运维侧看到的一些问题(文件过大,打印信息缺乏标准),希望对日志系统进行规范。提供统一的API,定义一定的规则,并为有效支撑后续日志系统的发展提供支撑。功能定义日志的主要作用是用来还原现场,协助我们分析问题,帮助重现历史。在日常具体工作中,用得最多的是协助我们直接定义问题的系统维护类日志,以及用来统计分析系统的运行状态的数据上报类日志。我们的日志未来也要具备这类能力。系统维护类日志系统维护类日志界别的分类如下。编号级别描述1DEBUG调试应用程序使用2INFO突出强调关键动作3WARN出现了预知的错误4ERROR出现不期望的故障,还能hold住5FATAL严重问题,搞不定了

为了辅助我们回溯相关问题,考虑到多个模块、多机器、多进程、多线程的问题,对日志进行区分,并设定一些参考格式,便于日志检索,如下供开发人员参考。编号内容备注1日志级别DEBUG2日期时间20171017-155600-1233机器节点4模块名ORDER5文件名Main.cpp6文件行号127进程号1238线程号119日志消息体灵活定义,建议控制大小在一定范围内数据上报类日志数据上报类日志严格遵从制定的格式,便于分析汇总。如下是以调用者身份上报被调用服务使用状态的日志格式。每一项之间用|分割,供参考。编号内容例子1版本12日期时用方IDCGI4调用方所在节点IDWX15被调方IDORDERSVR6被调方节点IDLG17服务与方法庄Create8返回码09耗时10ms性能定义02写的30%03并发数K更写入童司橙性器IB02写的30%03并发数K更写入童司橙性器IBo05提供API对C++,PHP进行支持04定炒i格式r通艮务曰是星化评价日斋赧表的盼『问题定位

验收办法,如下表:编号并发用例场景完成时长(ms)检查11线程单线程打印1000万行日志210线程每线程打印100万行日志310进程每进程打印100万行日志4100线程每线程打印10万行日志5100进程每线程打印10万行日志系统设计日志整体如下图,服务器节点服务器

节点4服务器

节店nCPP应用PHP应用日志分析服务器服务器节点2月艮务器节点服务器

节点4服务器

节店nCPP应用PHP应用日志分析服务器服务器节点2月艮务器节点a系统维护日衣I 数据上1 报日志日志AGENT《定时任务小程序》服务器节点1模块间调用门户日志仓库日志仓库编号模块职责1日志API按统一规范打印日志,确保单台节点并发不乱,性能高2系统维护日志应用借助日志API输出的日志文件,用于系统维护3数据上报日志应用借助日志API输出的日志文件,用于数据上报4日志AGENT在单台节点上,处理并上报结果到队列对数据上报日志进行汇总处理,并形成结果对系统维护日志践行检查预处理,并形成结果5日志收集队列Kafuka,用来汇总分散的日志6日志分析服务器从队列获取单节点日志结果,形成最终日志结果,输出到日志仓库7日志仓库按制定格式存放日志,并建立索引8模块间调用门户呈现模块健康状态,供管理参考9集中日志呈现门户集中检索日志,供定位分析问题门户顶参考集中日志呈现门户输入日志文件名,或者模块名,日期范围,给出所有日志列表。模块间调用门户用来描述系统间调用健康状态,同样也可以用来表达掉级的.查询指定服务间调用情况服务调用概况:输入Caller.Callee,日期目期CallerCallee调用次.数平均时长成功率2012-08-13Cgi-historyGfs-getrecs100000woms.查看调用者依赖的被调使用情况服务调用概可,:输入6115;f日期耳期3【恒「调用次教平均时长成功率2012-08-13Cgi-traceGmc-getpos1000000woms99%2012-03-13Cgl-traceSid-proflle10000wooms

.查看按返回码和服务节点分布的情况服务调用详细:点击上遂臬一个记录时间CallerCallee调用次数平均时长成功率F++2英Cgi-traceSid-profile2000lOnris99%1巧5Cgi-traceSid-profile2200100ms78%24。Cgi-traceSid-profile2100lOnris99%CALLEE机熟IP10u11.206.52CALLEE机熟IP10.11.20G.5310r11.20S.5410.1I..20S.S5

.系统调用关系图建设范围编号内容备注1一期搞定日志API,解决系统维护日志的输出问题系统设计日志库功能设计要点日志通用组件满足的需求。C++和PHP统一日志目录和格式规范。依据IP/服务名称/上下文编号,聚合和追溯日志。记录服务接口,请求返回数据,正确性,响应时间等信息。记录调用方,请求返回数据,正确性,响应时间等信息。日志库的未来架构图。规划设计图估价订单产品支付BOSS系统C++ PHP日志基础组件统一规范的日志输出文件[目录,格式/接口/上下文)增量读取本地日志文件内容异步日志分析器分析上报服务名/IP/接口调用等日志监测统计系统日志库概要设计。日志级别所有级别的日志输出到同一个日志文件中;DEBUG(开发人员调试日志)/INFO(业务流程日志)/WARN(警告信息日志)/ERROR(系统错误日志);

ERROR级别日志,属于严重错误,需要开发人员及时处理,反映系统服务质量和稳定性的重要指标;定义通用返回码接口调用方日志记录log_client_req(客户端请求接口数据)log_client_rsp(客户端请求后返回数据)接口服务方日志记录log_server_req(服务端接收请求数据)log_server_rsp(服务端返回请求数据)开发阶段分解和本期实现内容。日志基础组件库开发(C++\PHP统一调用)(一期,本期实现)日志分析上报和聚合(统一查询多台服务器日志,区分IP/hostname)(二期)日志分析统计运行质量(接口调用次数,正确率,响应时间等)(三期)日志库目录结构设计•自动读取etc目录下的所有xml配置文件,xml文件以业务系统模块划分,新增的xml文件,在重启服务后,可以自动生成写日志文件。•xml配置文件起到,服务日志先注册后使用。•日志文件采用,日期自动更换回滚的写入方式。/huish-Qubao/loglib/——lib pertiesliblisbcpluslog.soliMisbphplog-. etclog估价服务.xmJL订单服务.xml产品象统.xml支付系统.xml己BOSS奈装.xml估价服务曰志目录I evaluate.log.yyyyirand.d1——evaluate.log.yyyymmiid.1I evaluate.log.yyyyiraniiol.2订单服务日志目录产品奏统日志目录支•付系统日志目录B0S诿统目录

接口通用返回码返回码类型返回码编码返回码说明成功0调用成功请求方错误1xxx请求方错误1001请求参数字段缺失1002请求参数字段类型错误1003请求参数字段为

温馨提示

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

最新文档

评论

0/150

提交评论