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

大型ESB服务总线平台服务运行分析和监控预警实践

  今天准备谈下ESB总线平台建设项目中的服务运行统计分析,服务心跳监测,服务监控预警方面的设计和实现。可以看到,在一个ESB服务总线平台上线后,SOA治理管控就变得相当重要,而这些运行监控分析本身也是提升ESB总线平台高可用性的关键。
  对于ESB总线本身的高可用性建设,我在前面写过一篇文章可以参考。
  大型集团ESB服务总线平台建设项目高可用性实践总结
  今天主要分享下对于这类大型ESB总线平台建设项目在服务运行统计分析,服务心跳监测,服务监控,服务预警等配合高可用性能力方面的一些实践总结。对接口服务运行统计分析的思考
  对于ESB服务运行监控,从SOA服务管控和治理层面来看,经常会涉及到的KPI性能指标并不多,主要还是体现在运行次数,运行时间等关键的维度,如果考虑到指标本身之间的关联关系方便分析,那么还需要增加服务运行的并发数(分钟级),服务调用的数据量等关键指标。
  举例来说,当我们发现服务调用变慢了,即服务运行时间明显增加了,那么我们需要分析是否是该服务本身的并发量是否增加了,还是说服务本身调用的数据量增加了,还是说其它服务调用的并发量和数据量增加了导致该服务的资源被占用等。这些都是可能需要涉及到关联分析的地方。
  首先我们来看下单次服务运行能够采集和记录的关键数据服务运行时间(服务请求开始 to 服务请求结束)服务运行是否成功(True or False)服务传输的消息报文大小服务名称服务提供的系统,包括服务提供系统归属的组织类别等服务消费方系统正常调用还是非法调用
  接着再来看某个时间周期的情况,比如1个小时,1天,1周或1个月的统计时间周期运行次数,对运行次数进行求和最大分钟级并发数,取并发数的Max值异常数,对异常数按时间点进行求和告警数,对告警数按时间点进行求和服务最大运行时间,最小运行时间,平均运行时间服务消息报文最大报文,最小报文,平均报文容量
  对于时间周期只我们我们统计的一个维度,而对服务进行分析的时候还需要考虑如下维度按服务目录-》按服务按企业-》子公司-》子组织按应用域-》按应用系统-》按模块按服务类型-》服务子类型按服务提供系统,服务消费系统
  经过以上分析,我们看到一个最底层的服务运行日志信息,就有了按时间维度,按组织,服务类型,系统等多个维度进行维度分析和统计的可能。而这些恰好又是我们进行自定义报表和维度分析的基础。所有的统计分析基本都会基于以上基础运行信息展开进行。
  基于以上思考,我们整合了一个面向组织和业务系统的服务运行统计分析报表,可以按系统的维度详细的查看到自己提供和消费的接口服务的运行情况,异常情况,并发量和数据量,异常和告警等各种关键信息。如下参考:
  为了做完整的服务运行和性能分析,我们最好还需要对中间件资源池(应用服务器和数据库服务器)的CPU,内存利用率,存储使用量等关键指标进行实时的性能分析和监控。在实际的性能分析和监控中往往也是首先会从CPU和内存告警上第一时间反应出服务当前运行出现异常(如大并发,超大数据传输等),然后我们在通过实际的日志监控分析功能快速的查看当前服务运行的并发情况,传递的数据量情况等。
  当我们发现如果一个服务经常运行大并发,大数据量的异常调用的时候,则需要对服务单独启用流量控制策略等。比如:对服务传输的数据量及报文大小进行流控。对服务本身的并发量进行流控。对某个服务最大能够使用的资源量进行流控,防止单服务占满所有资源。服务运行指标勾稽关系分析
  服务运行指标相关之间的关联分析是我们进行服务运行问题排查,异常告警问题根源分析的基础。在前面谈SOA治理管控平台中,我们曾经画过一个图来说明,服务运行过程中的基础物理资源,数据库和应用服务器中间件资源,服务运行KPI和SLA设置之间的关联关系,如下:
  基于上图,我们进一步做下扩展分析,先做下基本的关联关系判别:
  JVM内存持续增加不释放,一个是服务并发量增加同时服务调用时间增长,其次是出现大数据量,长执行时间的服务调用,导致服务连接和内存无法快速回收。CPU使用率高升,但是内存利用率一般,一般为出现大并发量的服务调用,其次对于服务调用过程中有过多的数据映射,转换等处理导致CPU利用率增加。
  服务调用运行时间长,首先要分析是否是原始服务本身调用时间就变长,如果不是,则一般是在ESB服务调用上出现大量长周期服务调用,但是连接不能快速是否,线程池满一直排队的情况。
  如果JVM内存溢出,首先要通过Jstat工具监控下内存GC回收的情况,究竟是新时代,老生代,还是PermSize出现溢出。如果是PermSize需要进一步分析是否是程序本身有问题。
  如果没有做流量控制,单个服务本身的大并发,大数据量调用往往会侵占所有资源,对整个ESB上其它运行的服务都造成性能影响。
  对于ESB总线本身的等待线程数增加一定会涉及到内存持续增加,涉及到服务调用响应周期增加。如果是服务调用超时,则需要分析具体是在哪段引起的超时,是原始服务本身超时,还是在ESB中间件上进行服务处理的时候超时。
  对于服务告警和预警,前面也讲到过,再强调下具体场景包括服务单位时间运行次数明显增加,我们可以设置一个阈值,只要超过了就进行报警。服务运行时间明显增加,我们可以设置一个阈值,只要超过了就进行报警。服务单位时间数据量明显增加,我们可以设置一个阈值,只要超过了就进行报警。
  注意对于服务告警策略可以是针对所有服务,也可以是针对某个具体的服务,对于阈值可以是一个百分比数,也可以是一个绝对值。接下来我们再看下服务运行各个指标本身之间的一些关联关系:服务传递数据量大,一定带来内存增加服务运行时长增加,同时更加容易引起服务调用超时。服务调用并发量增加,服务调用时长一般也会增加,如果时长增加明显,则一定导致内存持续增加。单个服务本身的并发量增加,会引起ESB上线程排队增加,导致直接影响到其它服务调用性能。单个服务调用本身的数据量增加,容易引起JVM内存持续增加,导致JVM内存溢出。如果是后端服务本身性能下降,最明显的就是占有连接,资源不释放,导致ESB本身性能下降。
  而对于整个ESB中间件的性能监控和分析,从最底层的IT基础设施,存储和服务器,到ESB中间件资源池,再到具体运行的服务运行包,相互之间存在密切的关联,需要达到的效果往往是第一时间反馈出预警。并且通过预警去采取后续的行动措施和SLA策略设置等。
  1. 从资源池监控发现的CPU和内存异常第一时间找到非法调用服务?
  如果有CPU和内存利用率出现异常,同时某个服务或某几个服务出现运行性能告警,那么我们就有了分析的依据究竟是哪个服务导致的。并快速定位到具体的服务。在定位到具体的服务后,可以再详细查看服务调用的并发数,数据量等信息,然后有针对性的对服务展开流量控制策略。
  2. 如果JVM内存持续上升而没有释放,如何快速定位到服务?
  这个也是经常遇到的问题,当JVM内存持续增加,或者连接数不断的增加而不释放的时候,如果我们不进行及时的处理往往就导致整个JVM内存溢出而影响到所有ESB服务的运行。因此在这种场景下我们需要尽快的发现导致问题的服务,并对服务采取相应的措施。
  3. 从服务运行告警到自动熔断
  为了不因为一个具体服务的异常非法调用而影响到所有服务的运行,对于单个服务在出现持续性的告警后,应该有策略直接对该服务进行熔断处理。比如直接对服务进行禁用处理。增加实时的心跳检查
  在前面部分已经详细分析了服务本身的运行并发,次数和数据量与JVM内存,与CPU和内存利用率等各个关键指标之间的勾稽关系。
  这些指标之间本身相互影响和作用,我们对指标的监控本身应该是风险驱动的,即在系统出现宕机或内存溢出等故障问题前快速的发现问题并进行处理。
  因此,我们就需要对各种关键指标进行心跳监控和实时预警。
  对JVM内存利用率进行监控
  在前面我们已经谈到了,实际上出现JVM溢出的时候,往往会由于请求漂移影响到整个集群大量节点内存溢出而导致集群不可用。
  因此需要时刻监控JVM内存利用率的情况,如果发现JVM内存持续在某个高位,无法通过Gc操作将内存回收下来的时候就应该实时进行预警。
  在预警后我们既可以进行人工处理,也可以设置策略直接对问题节点进行重启操作。
  如上,我们对所有集群节点的JVM内存利用率进行实时监控,当发现利用率持续大于70%的时候就进行相应的预警操作,如果超过80%就推送严重警告信息。
  对后端业务系统和服务本身可用性监控
  其次,ESB服务总线如果出现服务调用异常,除了ESB总线本身的异常故障外,更大的可能性是后端业务系统不可用,或者说后端业务系统提供的业务服务不可用导致。
  对于ESB总线本身,我们可以实时心跳检查ESB总线暴露的服务可用性,如下:
  如果是后端系统本身不可用,那么往往会快速的返回connection timeout异常信息,这样不会影响到整个ESB总线平台稳定性。但是如果是后端业务系统服务假死或处于长时间无响应的状态,那么就会导致大量的连接无法释放,最终导致资源被消耗完。
  因此对后端系统和后端服务进行实时心跳监控也是有必要的。
  不论是对于ESB集群还是后端业务系统的监控,实际上都包括两个方面的监控,一个我们叫技术联通性监控,一个叫业务联通性监控。
  技术连通性即是否出现conneciton timeout访问超时,是就返回异常。而对于业务联通性,则是调用真实的某个业务服务接口,如果出现read time out则返回业务连通失败错误。
  对服务运行进行实时心跳监控
  其次,我们还需要对服务运行进行实时心跳监控,即时刻监控服务运行的并发量,数据量,运行时长等几个关键数据指标。
  在前面已经谈到过以上几个指标本身存在勾稽关系,比如发现服务运行平均时长增加,那么很可能是服务并发量增加或调用数据量增加导致。其次,如果发现服务调用的消息报文数据量猛增,那么很可能导致服务运行时长增加。
  因此需要对以上几个关键指标进行实时监控,时刻监控是否发生了峰值突变情况。
  当发现了峰值或突变的时候,我们就需要进行预警,并分析发生大并发或大数据量调用的原因并及时采取相应的流量管控措施,以确保整个ESB平台的稳定性。通过监控大屏可视化实时监控
  监控大屏更多的是展示基于服务集成层面的总览数据,同时对关键的异常告警信息,关键指标心跳,关键指标排名信息进行展示。这些都应该在Level1级层面的视图或报表。
  我们举一个简单场景,一个企业实施了ESB总线后,集成了20个业务系统,上100个服务接口,每天大概产生100万条服务调用示例记录,高峰时期的分钟级并发在1万次左右。
  总线实际上和硬件类网关很类似,当所有的服务调用全部都有经过总线的时候,我们就更加关心总线上实际的实时并发量,数据流量大小数据。而且这两个数据最好是要实现准实时的监控。以分钟级为例,我们需要监控分钟级的服务调用次数,分钟级的服务调用传输数据量。
  监控着两个指标是否出现突然的峰值调用,如果没有一般来说总线运行本身也不好出现问题。如果出现了各种异常大并发,大数据量调用,则一定会体现到我们的监控时序图上面。这两个数据实际上是适合在大屏上面实时心跳检测并显示的。
  对于大屏可视化展示,我们可以理解为总览,即更多的是当前ESB总线服务,集成的业务系统的总体健康情况。因此在大屏上我们可以考虑对当天的一些统计数据进行统计展示。
  这些统计数据包括了服务调用总次数,平均时长,总数据量,平均数据量,分钟级最大并发,接入总系统数,接入总服务数,总异常数,总告警次数等。对于异常告警往往是一个比较重要的展示内容,特别是异常信息本身还分为了系统级的异常和业务级的异常,对于告警本身又分为严重,一般,轻微等各种级别的告警。这些都需要在大屏进行一个统计的展示。
  如果是做集团到省两级ESB总线实施,在大屏上我们就可以考虑来实现结合地图的可视化效果展示。这个前面有文章说过,可以通过连线,端点节点大小,颜色等来体现服务调用流量,状态等信息。
  即使是单级ESB总线,在大屏展示的时候我们也需要考虑是否能够展示一个集成架构视图,能够展示出当前总线集成的多个业务系统,类似Bus总线的展示方式,可以通过该图将集成的关键系统全部标注出来。同时对于集成的系统上本身可以显示更多的关键信息。
  如果集成的业务系统用一个方框进行展示,那么在方框里面可以考虑展示。方框的颜色用于展示当前提供服务的本身的异常和告警情况方框内可以显示提供服务数和消费服务数方框内可以显示服务当天的服务提供总次数,峰值并发量
  最后,大屏本身也可以展示一些列表数据,但是从大屏可视化效果来说,列表数据不适合展示太多。可以考虑的列表数据展示主要包括了服务运行次数,服务调用异常,服务调用耗时或数据量的Top10排名信息显示等。

三代谋女郎的古偶章子怡三年未播,倪妮收视低迷,周冬雨被群嘲电影圈最有光环的女演员群体,或许是所谓谋女郎。巩俐出道多年,依旧是无法撼动的顶级存在被称为巩皇。章子怡是70花中奖项成绩最优异的女演员,起起落落仍旧能重塑辉煌,非常传奇。周冬雨则是解约辱华品牌,刘亦菲蔡依林态度模糊,甄子丹一语中的3月25日堪称内娱解约日,近50位明星针对抵制新疆棉花的辱华品牌挺直了腰杆,用一封解约声明来回击这些辱华品牌,为青少年树立了榜样,传递了正确的价值观。可在网友的大搜查下,依旧有些明椰汁女神徐冬冬北漂女孩从大嫂到刀白凤,靠的不仅是性感身材今年是大嫂徐冬冬的而立之年,也是她比较忙碌的一年。上半年忙着录节目上综艺,下半年则开始宣传自己的新剧,光是待播剧就有7部,这么高产,想不红都难啊。这不,8月18日,她在新剧天龙八部别再送女友感动哭系列,这样送礼才不会被分手那些年来自直男的雷品礼物大赏又到了一年一度的男生会沉默,女生会流泪的(白色)情人节。男生会沉默是因为苦恼送什么,而女生会流泪,却绝不是因为感动。我身边就有这么一对情侣朋友,男生向我4000字深度拆解卢战卡涨粉千万月销百万,他做对了什么?5月初我参加了勾俊伟老师的拆解私房课。现场和小伙伴们拆解了全网1300W粉丝,知识付费界的网红卢战卡老师。过程虽然很辛苦,但收获满满。这篇打磨了很久的文章,分享给大家拆解报告分割线凡事必有四种解决方法今天我们来聊一聊事情的解决方法。其实平时工作中生活中我们很容易遇到很多冲突,因为每个人都想证明自己我是对的,你是错的。我平时是很不容易和别人起冲突的人,想了下可能是因为我非常喜欢从士可杀不可辱!拒绝悬挂中国国旗,主办方威胁中国队不许公开士可杀不可辱!拒绝悬挂中国国旗,主办方威胁中国队不许公开2016世界钢管舞竞标赛在意大利进行,本来并没有太多人关注的比赛却因为主办方拒绝悬挂中国队国旗而引发热议。总共25个国家代表管理我的职场利益关键人今天我们来聊一聊我们的职场利益关系人。一般职场利益关系人有哪些呢?领导下属同事合作方等等。下属和同事一般会比较多,性格更为多样,而变数也会很大,你会难以分辨究竟哪一位或那几位是你的DISC初接触三个前提假设要牢记原先我一直认为,我是没有SC的,而在DISC的音频课程第一讲,打破了我十多年多DISC的误解,原来1。每个人身上都有DISC2。DISC四种特质,没有优劣,都是特点3。DISC可以我眼中的DISC理论DISC简单来说,是从遇事更关注人,还是关注事和表达方式的直接,还是间接这两个维度,延伸出的四种性格特质D型是指挥者,关注事,直接1。他们做人非常强势,霸道,说一不二,不允许别人和豆瓣豆瓣发书评规则豆瓣简介提供图书电影音乐唱片的推荐评论和价格比较,以及城市独特的文化生活。豆瓣用户阅读音乐电影的爱好者,白领大学生大部分是90后,偏年轻。养号获取信息浏览读书电影音乐小组评价等等相
关于最近你们的问题最近比较奇怪,收到不少在微信问我怎么学习语言,看什么书才好的,还有问我是不是要换专业转行做IT应该怎么学习的?我一时还比较费解,我的号的受众不都是有几年工作经验的吗?怎么会这么多这有些软件,听着听着就没了1hr2002年,中国的个人电脑开始流行。但当时的电脑并没有像现在这么的便利,有许多的基础软件可以使用。当时许多上网网址甚至也需要自己去记住。音乐播放器WinAMP当时还是的主流。淘宝蚂蚁菜鸟盒马嘀嘀面经(已拿多个offer)上一篇的同学拿到了bigo和腾讯的offer,这一次的分享来自两位同学的面试综合,他们分别拿到了菜鸟嘀嘀盒马的多个offer,由于面试的时间跨度时间太长,且面试的部门太多,只能回忆世界上最好玩的6种表情符号编程语言谁能想到我们最喜欢的表情符号可以用来设计新的编程语言?聪明有才华的人已经想象并开发出了成熟的编程语言,我们可以用它来编写表情符号和表情符号。这些基于表情符号的语言大多是深奥的编程语空指针的传说空指针,号称天下最强刺客。他原本不叫这个名字,空指针原本复姓异常,空指针只不过是他的武器,但他杀戮过多,渐渐地人们只记住了空指针这三个字。天下武功,唯快不破,空指针的针,以快和诡异面试官数据库自增ID用完了会怎么样?看到这个问题,我想起当初玩魔兽世界的时候,25H难度的脑残吼的血量已经超过了21亿,所以那时候副本的BOSS都设计成了转阶段回血的模式,因为魔兽的血量是int型,不能超过232大小3分钟学个算法链表反转题目描述输入一个链表,反转链表后,输出新链表的表头。输入1,2,3,4,5返回值5,4,3,2,1解题初拿到这题,很容易联想到反转系列用java的api中提供了几个类似的api如C张真源荣登中戏官网,腰背挺直十分端正,成功俘获同学芳心引子最近是各大院校开学的日子,时代少年团的张真源成功考上自己心中的大学中戏。在开学的第1天,张真源就被粉丝围堵了,其中有专门去的,也有学校的学生。张真源自从出现,就一直被大家的目光张真源在宿舍给粉丝录歌,遭舍友调侃,网友这不是追星是异地恋引子时代少年团在很多心中的地位是非常重的,他们虽然还年轻,虽然很多粉丝里面有年纪大的阿姨,有姐姐也有妹妹,甚至还有大哥。但他们的心都是一样的,希望看到他们更好的一面。张真源在时代少高圆圆气质果然不一般,完美驾驭红色长裙,配10cm高跟鞋看着都痛女士们在进行时尚穿搭时,往往会配合一双高跟鞋来提升气场,的确,有了这几厘米甚至十几厘米的加持,身姿看起来确实会更加挺拔,所呈现出的时尚效果也更胜一筹。艺人高圆圆每每亮相都会选择高跟李沁的初秋搭配,西装连衣裙优雅又时髦,配双皮靴更有气场在每一个季节里面,都有着与之相互契合的单品,而西装裙装这些单品,依旧是秋季穿衣主流,得到很多的女生喜欢,这个也是很正常的。可以将自己的秋季衣橱变得更加的丰富,而且时尚感也超级的赞。