范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

基于ESB和API网关的服务运行监控分析和实践

  今天准备谈下基于ESB或API网关的服务运行监控分析,对于服务运行分析和监控本身也属于服务治理或微服务治理的一个关键内容。
  为何基于ESB或API网关?
  当所有的接口服务和API接入到ESB或API网关的时候,由于是一种中心化的集成架构模式,因此总线更加容易采集到每一次服务运行详细的性能数据,而这些性能数据则是我们进行服务运行分析监控的基础。微服务治理和服务运行监控
  如果重新给微服务治理一个定义,应该如下:
  微服务治理是针对企业组织和业务目标,制订一套标准的管理,业务,技术,过程规范体系,实现微服务从需求,设计,开发上线,运行,下线的全生命周期管理能力。同时构建一套完整的度量指标体系,通过实时的日志和性能数据采集,持续的监控服务运行监控状态,并执行相应的限流,预警等管控策略,以确保微服务的持续健康,可靠和高效运行。
  在前面谈微服务治理的时候,我将微服务治理核心内容分为设计态和运行态。设计态:如何进行微服务分析和设计,模块拆分,接口设计运行态:如何构建度量分析体系,实现微服务监控,确保微服务健康运行
  而整个运行态的核心内容即是服务运行监控分析,通过服务运行监控分析结合指定好的服务度量和KPI体系,进行服务的持续性能优化和管控。在运行期还有一个关键思维的转变就是不是简单的发生问题故障后的运维治理,而是应该基于监控预警分析下的主动的技术运营和SLA服务等级提升。
  因此服务运行监控分析本身是提升微服务治理管控能力的一个关键。服务运行监控和其它治理模块的关系
  在谈具体的服务运行监控分析前,还是先分析下服务运行监控和整个治理框架中的其它核心模块之间的一些集成关系。通过集成关系的梳理,可以更方便理解服务运行监控分析在整个治理框架中的重要作用。
  对于整体集成关系如下图:
  对于服务运行监控本身可以分为两个层面,一个是最基本的服务运行分析,其中包括了服务运行实例查询,异常日志查询等。其次是基于服务运行实例进行的多维度服务运行统计分析。
  服务运行监控可以应用到服务告警预警中,即服务运行统计分析加上告警规则设置来进行具体的服务运行告警和预警处理。
  对于限流熔断功能,本身也涉及到具体的限流熔断规则配置,因此也需要使用服务运行监控统计分析数据,只是这里的运行统计分析时间间隔往往更短,比如小时级或分钟级别。
  服务运行监控如果实时发现了服务运行故障或异常,或者服务运行响应缓慢的情况,那么就需要进行详细的问题分析和排查。如果确认了是服务本身的问题,就需要对服务进行服务设计和优化变更,或者对出现的Bug故障进行修复。
  其次服务运行监控分析可以形成整个服务运行全生命周期的闭环管理,即通过服务运行统计分析和KPI度量体系,发现服务持续优化的点,调整原有的服务SLA等级设置。如果服务非服务自身原因导致的服务运行期性能下降,还需要考虑是否进行IT基础设施和资源扩展。服务运行监控数据模型框架
  对于服务运行监控,首先还是应该分析数据模型框架。
  对于ESB服务运行监控,从SOA服务管控和治理层面来看,经常会涉及到的KPI性能指标并不多,主要还是体现在运行次数,运行时间等关键的维度,如果考虑到指标本身之间的关联关系方便分析,那么还需要增加服务运行的并发数(分钟级),服务调用的数据量等关键指标。
  举例来说,当我们发现服务调用变慢了,即服务运行时间明显增加了,那么我们需要分析是否是该服务本身的并发量是否增加了,还是说服务本身调用的数据量增加了,还是说其它服务调用的并发量和数据量增加了导致该服务的资源被占用等。这些都是可能需要涉及到关联分析的地方。
  对于服务运行数据框架,核心还是服务运行实例数据。因此可以先看下服务运行实例数据可以采集和记录到的关键数据项包括:服务实例ID服务名称信息服务提供方系统服务消费方系统和消费IP服务调用开始时间服务调用结束时间服务运行时长业务服务调用时长服务消息报文大小服务运行状态服务异常日志
  以上信息即是单个服务运行实例可以记录到的一些关键信息。如果单独从服务运行监控来说,有以上数据已经可以进行服务日志查询,异常信息查询。
  但是从服务统计分析来说,就还必须扩展数据的聚合维度。而对于数据的聚合维度,我们可以从静态维度,动态维度和实例维度三个方面展开。
  基于这个思路即可构建下图的核心数据模型框架:
  静态维度聚合
  静态维度聚合包括了服务提供方系统,消费方系统,对于业务系统本身又属于某一个业务域,或者属于某个业务组织,这个是关键的系统分类。
  对于ESB集群来说,本身服务实例是运行在某个集群节点上面的,同时对于集群本身也存在集群分组,构成一个层次关系。
  最后服务属于完整的服务目录库,服务本身有分类,比如我们常说的业务域,服务类型等都可以是关键的服务分类信息。
  动态维度展开
  对于动态维度,实际上又可以分为两类,一个是应用到实时服务运行监控,一个是拥有非实时的服务运行统计分析的。
  对于实时监控往往需要做到至少分钟级的服务运行心跳监控和数据汇总分析,这个数据本身也是进行后续类似服务预警,服务限流熔断的一个关键基础数据。因此实时监控的时间周期可以从分钟到小时到天的粒度即可。
  而对于非实时的统计分析,往往需要能够分析到年这个跨度,因此对于时间周期维度最小单位到天即可,即从天到月到年的汇总。
  当然准实时监控统计形成的按天数据本身刚好作为非实时统计分析的最细粒度数据输入。
  实例数据聚合
  对于实例数据本身也可以进行聚合,最简单的就是Count计数聚合,其中类似服务运行次数,单位时间的并发数,服务成功失败率,异常数等都基于Count计数。
  而对于服务运行时间,服务运行报文量,则不是简单的Count计数,而是可以分析具体的最大值,最小值,平均值等多个汇总数据。比如我们常说的服务运行时间,实际上分析某个周期的服务平均运行时长更有意义。
  经过以上分析,我们看到一个最底层的服务运行日志信息,就有了按时间维度,按组织,服务类型,系统等多个维度进行维度分析和统计的可能。而这些恰好又是我们进行自定义报表和维度分析的基础。所有的统计分析基本都会基于以上基础运行信息展开进行。
  同时我们看到,为了做完整的服务运行和性能分析,我们最好还需要对中间件资源池(应用服务器和数据库服务器)的CPU,内存利用率,存储使用量等关键指标进行实时的性能分析和监控。在实际的性能分析和监控中往往也是首先会从CPU和内存告警上第一时间反应出服务当前运行出现异常(如大并发,超大数据传输等),然后我们在通过实际的日志监控分析功能快速的查看当前服务运行的并发情况,传递的数据量情况等。实时和准实时监控
  前面已经谈到服务运行监控分析,包括了实时查询和监控,也包括了非实时的定时统计分析。在这里先谈下实时和准实时查询分析。
  对于服务运行实例,最基本的就是应该有相应的服务实例查询功能。
  对于每一次接口服务的调用都会产生服务运行实例日志信息,这些日志信息应该在ESB或API网关平台通过Log的方式进行记录。
  业务系统可以通过实例ID,服务名称,调用状态,时间段等条件对服务实例日志信息进行查询,同时对于查询到的实例日志信息还可以详细查看具体的消息报文输入和输出信息。
  对于主流的ESB或API网关Log功能的实现,可以看到在进行服务代理和封装过程中会增加Log插件,通过Log插件来拦截日志并写入到分布式文件存储或数据库中。而日志的持久化写入本身需要和服务调用解耦,因此日志写入一般都采用消息中间件来实现解耦和异步性能提升。
  其次就是服务运行心跳监控,在项目实践中我们会对服务运行指标进行分钟级心跳监控。
  其中主要监控服务运行的并发量,数据量,运行时长等几个关键数据指标。
  在前面已经谈到过以上几个指标本身存在勾稽关系,比如发现服务运行平均时长增加,那么很可能是服务并发量增加或调用数据量增加导致。其次,如果发现服务调用的消息报文数据量猛增,那么很可能导致服务运行时长增加。
  因此需要对以上几个关键指标进行实时监控,时刻监控是否发生了峰值突变情况。
  当发现了峰值或突变的时候,我们就需要进行预警,并分析发生大并发或大数据量调用的原因并及时采取相应的流量管控措施,以确保整个ESB平台的稳定性。服务运行统计分析
  在前面的数据模型中可以看到,服务运行本身的统计分析是要给多维度的统计过程。
  服务运行记录本身是一个按时间持续产生的动态数据,因此最容易考虑到的就是基于动态的时间维度对服务运行实例信息进行汇总。
  比如从最细粒度的分钟,汇总到小时,天,月,年的各种时间维度。即对于服务运行次数,分钟级的峰值并发,运行时长等关键性能指标都可以按时间趋势进行汇总后展示,类似下图:
  但是对于以上数据是基于所有的服务调用实例记录进行聚合计算。
  而实际上从前面数据模型可以看到,对于服务运行实例本身还是组织单位,服务提供方,服务消费方,服务分类等进一步的静态细分维度。因此这些静态细分维度+上面的时间趋势将形成进一步的数据下钻展示。这个功能实际和BI里的支持数据钻取功能类似。服务运行多维度聚合分析
  在前面介绍了最基本的服务运行查询,服务统计分析后,再来看下基于实际的业务场景驱动,需要如何对服务运行进行多维度的聚合分析。
  在前面已经谈到,当你第一次就按时间趋势去动态展现数据的时候,那么对于静态维度则是固定死的,比如只能看整个ESB集群,或一个组织,或一个系统的动态时间趋势数据。
  而且这个动态趋势数据还很难同时展示多个KPI指标。
  比如对于运行时长和运行报文量,两个的衡量单位不一样,即使用双坐标方式在一个图表上展示其整体的可读性也会很差。
  即动态趋势很难形成一个多维度组合的分析统计表。
  从组织维度的多维分析思考
  因此多维度的聚合分析一开始可以先按组织,按系统等静态的维度进行统计分析,而统计的时间区间先进行固定的查询条件作为输入。
  比如我们希望查询子公司1当前的服务运行性能指标情况。而对于子公司1本身提供了5个系统,上100个接口服务的接入。那么第一层可以先分系统统计各个系统的关键KPI指标。
  在分析该KPI指标的时候,会发现SCM系统提供的服务运行平均时长达到5秒,超过了我们实际的服务运行时长预期,那么我们就可以进一步下钻分析究竟问题出现在哪里?
  对于单个指标异常的下钻,实际可以采用按静态维度和动态维度两个不同维度同时下钻的方法以快速的定位和发现问题服务。如上图,通过静态展开可以到具体的接口服务粒度,基于动态可以展开到服务运行的具体到天粒度的时间周期。
  即通过上图的可视化展示,可以快速的发现具体是哪个服务,哪几个关键的时间点服务调用出现了问题。这将极大的方便我们对服务运行进行快速的诊断和分析。
  从业务系统多维分析思考
  对于注册和接入API接口服务到ESB或API网关的业务系统或微服务来说,可以思考下对于业务系统究竟希望在管控治理平台上看到哪些服务KPI性能数据。
  在前面谈服务运行数据模型的时候,可以看到要给业务系统既可能是服务运行的提供方,也可能是服务运行的消费方。要给业务系统可以接入自己的服务到平台,同时也可以消费和调用平台提供的API接口服务。
  因此对于业务系统来说,首先就要分两类来看,是看自己提供的服务运行情况和性能,还是看自己消费的服务运行情况和性能。
  在这里仅仅拿提供服务运行性能来分析。
  即业务系统账号登录后可以详细看到某个时间周期自己提供的服务具体的KPI性能指标,当发现性能问题的时候可以进一步展开。
  在静态上可以按具体的服务消费方进一步展开,确定究竟是哪个消费方服务调用频繁或服务调用性能缓慢。而在动态上仍然可以进一步按时间周期展开,确定具体的并发峰值出现时间点。
  服务交互矩阵
  对于一个业务系统来说,是否可以看到其提供的所有服务被各个业务系统消费的KPI指标情况?在前面的维度展示方式,基本都需要通过进一步的下钻才能够展示完整信息。
  在这里可以设计类似服务交互矩阵的方式进行关键KPI指标展示,即上图中的服务维度和消费方维度可以作为交互矩阵图中的两个坐标轴进行构图。
  在服务交互矩阵中,单元格中的统计指标一般只能够展示一个。比如同时展示运行次数指标,或者同时展示并发数指标等。
  维度展开和下钻的思路
  简单来说,服务统计分析的过程是进行数据聚合的过程,但是对于实际的服务运行分析和诊断则是需要进行下钻展开的过程。
  下面给出一些可行的服务运行分析下钻展开路径。全集团-》子组织-》业务域或业务单位业务系统-》提供服务-》服务消费方年周期-》月周期-》日周期-》小时数据分析服务大类-》服务小类-》提供服务
  以上即是最常用的一些可用服务多维度组合方式,供参考。服务运行分析常见问题总结
  对于服务运行数据分析实际上是一个需要采用各种统计学方法进行的过程。在这里先举一些简单的场景来进行说明,后续再单独写文章进行详细分析。
  场景1:服务耗时分布偏差和毛刺现象
  对于毛刺现象是在运维里面的一种场景说法,即诊断监控的某个KPI性能指标出现的某个时间点或时间段异常高的情况。
  对于服务运行时长的分析往往就存在这种毛刺现象而影响到正常的分析结果。比如我们监控两个服务,服务A和服务B,发现两个服务平均运行时长都是30S。
  对于30秒的运行时长在预定规则里面已经属于明显的服务运行性能问题需要进行分析。但是两个服务平均时长缓慢的原因并不同。
  服务A是所有的服务运行都缓慢,基本围绕30S正态分布。
  服务B是在存在少量的服务实例耗时特别长,比如5分钟,而其他服务运行实例都在1S内完成,在服务运行量不大的情况下导致整体服务平均时长变慢。
  而这两种情况分析和解决思路往往并不通,对于服务B缓慢往往仅仅是个例,这种特殊个例受到总线,网络,业务系统提供方多条件影响,只要不对所有服务造成影响实际并不需要特殊处理。但是对于服务A这种整体性能下降,则必须引起高度的重视,往往就涉及到提供服务需要进一步进行性能优化,或当前资源需要扩容等。
  如何简单屏蔽这种现象?
  最简单的方法就是你可以类似比赛打分去掉最低分,去掉最高分的做法。即对于服务运行实例数据统计,只统计95%耗时长的服务的平均耗时。具体是95%还是90%,则根据我们具体的服务治理和SLA管控要求来指定。
  场景2:服务耗时双波峰分布
  在我们最近的服务运行性能分析中,发现了另外一种特殊情况。即对于服务耗时性能数据出现了双波峰的分布情况。
  即对某一个时间段的数据进行观察,会发现实际的服务耗时分布存在两个波峰,那么这种两个波峰的数据分布式如何造成的?
  对于这种双波峰的分布,经过排查实际上存在两种情况。
  其一是跟某个特定的服务消费方相关,该消费方访问该服务运行时长都比较长。其二是跟某个特定的服务查询条件相关,即在该特定的服务查询条件下会导致服务运行耗时长。
  因此经过具体的分析我们就可以进一步诊断出具体的细节问题点并有针对性的进行服务性能优化改进工作。
  对于具体的基于数据统计学思路的服务运行分析后续再展开详细描述。
  对于本文相关的延伸阅读可参考:
  从传统服务链监控到端到端流程监控技术实现
  大型ESB服务总线平台服务运行分析和监控预警实践
  从商用报表谈自定义报表和可视化监控大屏设计
  数据可视化-监控大屏呈现和拓扑图绘制工具总结

增高手段只服鞠婧祎!长袜上增添三条心机线,立马变成一米七鞠婧祎是娱乐圈中极具代表性的矮个子女星,生活中她为了自己的身高比例不被大众吐槽是学会了许多可以轻松增高的穿衣技巧。日前鞠婧祎机场露面就因为自己穿衣上的小心机彻底隐藏了自己矮个子形象陆毅赵丽颖排队求剧本,看完这部国剧,我心里五味杂陈序这是一部不太一样的电视剧,全剧共40集,每集30分钟左右,主要角色是建党一百年以来40位在不同时期为了实现中华民族伟大复兴中国梦而不停奋斗的传奇人物。类似单元剧,每一集都为我们讲罗志祥最爱女艺人晒照,当恺乐穿上束腰裙后,轻松碾压周扬青以前的罗志祥在内地是取得了很好的发展,不过前段时间他因为自己与周扬青之间出现的感情风波一夜间是毁掉了自身事业。说到罗志祥不得不提到的就是他公司旗下唯一签约的女艺人简恺乐,能够成为罗播放破两千,男主登场11分钟就领了盒饭?连追5集我承认已沦陷万万没想到,一共16集的我的宠物少将军在刚刚开篇仅11分钟的时间,男主就被女主安排领了盒饭。这男主都死了还玩什么古装甜偶剧?身为天璃国的少将军莫修染,与敌军大战三百回合,战至一兵一有种时尚叫戚薇,胸口前挂香蕉皮,看到鞋子我服了提起戚薇,不知道大家对她是否有所了解?她是中国内地女歌手,同时也是影视演员,自从2006年参加选秀节目我型我秀后,就正式出道同年与袁成杰共同组成郎才女貌组合。随后戚薇发行多首单曲和赵露思哪来的自信?穿三分裤暴露麒麟腿,信了她出道前120斤赵露思是圈里正当红的新生代小花,网红出身的她原本在网上就小有名气,后来进入娱乐圈发展,走向演员这条道路,虽说最开始并不被网友看好,但提高曝光率后,流量热度也明显提升。自从2018年高考落榜婚内出轨,喜剧女王宋丹丹的上位之路5月23日,综艺节目五十公里桃花坞一开播,宋丹丹和张翰就因为火药味十足的对话引发争议。众嘉宾初次见面,为了让彼此之间快速熟络,宋丹丹提议众人以各自的成就作一番自我介绍。张翰在回答时中国医生感谢你们,为我们拼过命行医一时,鞠躬一生不求闻达,但求利人。2019年,新冠疫情爆发。湖北武汉连续出现不明原因肺炎病人,武汉的新冠疫情开始,领导人及时采取有效措施,武汉封城。全国人民众志成城,共同抗疫。胡静分享台前幕后的故事想红没有错,我的人生价值不是豪门阔太说到胡静这位女演员相信很多小伙伴们对她都非常熟悉,毕竟胡静曾经饰演过太多经典的影视剧,像大家非常熟悉的人民的名义新世界封神演义大话西游3等等都是非常不错的作品,而最近胡静还参加了非活久见!严屹宽与乔振宇合作,那些年天涯四美不得不说的故事10月9日是个很热闹的日子,朱一龙的人生大事就霸屏了好几个热搜,王一博翻车的真相也是扑朔迷离,张艺兴的侧颜杀又不知迷惑了多少追星少女。在这片花红柳绿的明星八卦中,有一个真正可以让很88岁老戏骨刘德华干妈李香琴去世,女儿哭着让医生停止抢救新年到来的第4天,娱乐圈又一位老戏骨离世。据媒体报道,20201年1月4日,TVB老戏骨李香琴在家中因病去世,享年88岁。1956年,24岁的李香琴进入娱乐圈,一生中总共出演过20
你是我的荣耀高中时的于途,为何拒绝长相漂亮的乔晶晶呢?在迪丽热巴和杨洋主演的你是我的荣耀中,于途和乔晶晶的温暖爱情还是让众多观众甜蜜了一把。虽然游戏在他们的爱情中起到了牵桥搭线的作用,但他们的缘分恐怕要从十年前的高中时代说起。你是我的北辙南辕戴小雨和冯希的爱情表明,爱是基本,自立才是资本北辙南辕在冯小刚导演的北辙南辕中,戴小雨和冯希的爱情之路有点相似,连经历的波折也很相似。戴小雨与彭湃生活了七年,才知道彭湃没有离婚,自己被小三了。冯希与李响生活了十年,却被李响给甩你是我的荣耀乔晶晶表白于途被拒,早有伏笔,翟亮没看比赛你是我的荣耀迪丽热巴和杨洋主演的你是我的荣耀真是让观众甜蜜了一把。大明星乔晶晶要参加王者荣耀年度庆典,一个无意的机会下,于途将她拉入游戏,从此她跟于途一起学习王者荣耀。不过,经常陪大决战淮海战役,中野为何拿不下黄维兵团,却要华野支援?大决战近期革命历史剧大决战的热播,也让很多人对解放战争的这段历史很感兴趣。大决战中的刘邓陈1948年11月,我军发动淮海战役,华野主力于11月10日包围国民党黄百韬兵团于碾庄,蒋介你是我的荣耀夏晴暗地里讽刺乔晶晶,看于途怎么怼回去的?你是我的荣耀在迪丽热巴和杨洋主演的你是我的荣耀中,金晨饰演的夏晴可是乔晶晶的竞争对手,两人争的是男人。你是我的荣耀中杨洋饰演的于途在高中时代,乔晶晶曾向于途表白,被于途所拒,于途当北辙南辕作践自己得来的爱情不长久,为何女人总原谅渣男?冯小刚执导的电视剧北辙南辕最近火得很,讲述的是5个都市女性在感情和事业上遇到的种种波折,从而得到成长。由于剧情与现实生活有着很多相似之处,引起了观众的共鸣。北辙南辕戴小雨骂彭湃金晨你是我的荣耀从十年前的拒绝到爱慕,乔晶晶哪里吸引于途?在迪丽热巴和杨洋主演的你是我的荣耀中,于途和乔晶晶的爱情让所有观众都感到甜蜜,所有人都认为他们是天设一对,地造一双。你是我的荣耀迪丽热巴演的乔晶晶于途并不是一个善于表达感情的人,在北辙南辕世上有很多戴小雨,但绝对不会有当接盘侠的刘梁周北辙南辕在冯小刚导演的北辙南辕中,金晨饰演的戴小雨在感情上是个悲剧。金晨与彭湃在一起了7年时间,才知道彭湃是有妻子的。当彭湃因病发面临生死时,彭湃的遗嘱上居然提都没提到戴小雨。戴小北辙南辕大姐头尤姗姗,一手抓事业,另一手抓着别人的感情北辙南辕近日,冯小刚导演的北辙南辕火热,这部以都市女性的爱情和事业为主题的电视剧,其剧情引起了很多观众的共鸣。北辙南辕中的尤姗姗生活总是不能一帆风顺的,5姐妹中有4人都经历了爱情和你是我的荣耀造谣和陷害乔晶晶,女人的敌人果然还是女人你是我的荣耀迪丽热巴和杨洋主演的你是我的荣耀近日大火,大明星乔晶晶和航天专家于途的爱情细腻又温馨,真是让观众甜了一把。你是我的荣耀晶晶被造谣说智商低表白被拒都说不遭人嫉是庸才,乔晶北辙南辕三段爱情故事告诉我们,美好爱情的三个关键所在在冯小刚导演的北辙南辕中,5个女人除了大姐头尤姗姗之外,其他4人都曾有过轰轰烈烈的爱情。鲍雪和俞颂阳司梦和杜世均冯希和赵赫男这三对都是美好结局,唯有戴小雨识人不明,悲剧收场。北辙南