400-893-5552

服务监控-从技术到业务

 
2017-04-11 14:44:46所属分类:行业动态

服务监控是服务全生命周期管控和日常服务运维中的一个关键内容,在服务部署和注册到ESB总线后,一个重要的环节就是实时监控正在运行服务的健康状态,并对各自潜在故障和性能瓶颈进行及时的预警。

\

1.技术层面的服务监控

这个也是我们谈的最多的内容,即服务日志监控和审计,需要做到的就是部署到ESB上的服务,我们可以选择和配置是否记录详细日志信息。如果选择了记录,则需要能够做到对于每一次服务请求调用都能够详细记录到调用的时间,调用方IP地址和业务系统,调用时长,消息报文的输入和输出,数据量,发生异常时候的异常报文等各种详细日志信息。这些日志信息的记录是我们进行服务日常性能监控和故障问题解决的关键。

从这些日志的记录,我们可以进一步做到如下的统计分析,即:

a.服务单位时间的运行次数分析,服务的运行时长和平均运行时长分析

b.服务单位时间的并发量分析

c.服务运行传输的数据量报文大小分析

d.服务运行异常详细日志和异常记录分析

e.服务运行按时间,按类别,按业务系统等各种分类统计分析

有了这些统计我们就很容易来分析哪些服务的并发量大,哪些服务运行时间长,哪些服务本身传递的数据量大等各种有效信息,同时有针对性的对服务运行进行SLA优先级设置,流量控制等。当然当在某个时间段如果发生性能问题的时候,我们也可以从性能问题追溯到对应时间段的服务运行情况,并且逐步定位到引起ESB性能瓶颈的关键服务。

对应服务监控,我们还可以进一步从事后的故障和问题解决,变化为事前的性能预警 ,对应服务监控预警最重要的就是根据服务优先级和SLA等级,服务对应的业务日常并发情况和时间响应要求,有针对性的制定和配置服务预警策略,预警策略设置包括了如下内容:

a. 具体预警策略是针对单个服务,还是全面服务进行

b. 具体预警策略生效的时间段是如何的,还是只再高峰时间段生效

c. 预警具体的策略是根据服务运行次数,服务访问时间还是服务异常错误发生次数等

d. 预警的阈值设置,即首先设置一个基准,超过基准多少就进行预警

e. 当发生服务预警的时候,具体的服务通知策略

服务预警策略配置完成后,预警策略和服务日常监控就可以结合起来 ,当服务日常监控达到了预警策略设置的阈值后就自动触发预警,同时将预警信息以邮件或短信方式发送通知。

服务监控和服务预警外,还可以看到可以和服务流量控制协同起来 。即当服务触发到预警条件的时候,我们还可以对大数据量或大并发的服务进行限流,控制服务调用的频率和传递的数据量大小,如果在限流后仍然出现ESB总线整体性能问题,我们还可以进一步对个别服务进行熔断处理,以确保整个ESB服务总线的稳定运行。

,即当我们发现ESB总线出现资源瓶颈的时候,可以分析出具体导致瓶颈的异常调用服务,同时对于这些服务重新定义SLA等级水平,以减少高峰时期的资源占有。当然也可以是对访问缓慢的服务诊断后提升SLA等级以优先分配资源。

2.业务层面的服务监控

业务层面的跨系统业务协同最终会体现到对应的接口服务,那么对于接口服务的监控能否体现出关键业务协同的运行情况?这是我们考虑业务监控的关键,即服务监控的最终目标仍然是希望通过服务监控能够真实的反映出当前业务的运行情况。

对于业务监控首先可以考虑的就是将接口服务监控转变为对核心业务对象和单据的监控。或者叫首先将单接口服务调用转变为业务对象的监控。

举例来说当前由一个采购系统到ERP系统的采购订单导入信息服务,但是这个服务本身的调用可以一次传递一张采购订单,也可以一次传递一批采购订单;可以是传递A类采购订单,也可以传递B类采购订单;可以是传递的新增采购订单导入,也可以传递的是变更采购订单的导入。这些业务系统最终都体现到纯技术层面的服务接口上面,因此首先要做的就是通过技术服务接口的调用反馈回业务单据的协同,例如:

a. 我们需要分析出每天实际传递的新增采购订单数据有多少条?变更采购订单有多少条?

b. 我们需要清楚A类和B类采购订单每天各自增加了多少条?

c. 我们需要知道采购订单有哪些出现问题没有在两个系统间正常传递,具体有哪几类原因?

这些业务层面的监控就需要我们做一次处理,将服务调用信息转化为以业务单据为计算和分析粒度的业务信息。这样原有单纯的技术层面的服务接口就赋予了相应的业务交互含义。

从单个业务接口的监控,我们还可以进一步延伸到对整体端到端跨系统业务交互流程的监控。

要清楚在讲SOA咨询规划方法论的时候,我们一直在强调是基于业务驱动IT,流程驱动IT的思路去分析跨业务系统的端到端流程,其中所有跨系统交互和协同的点都是潜在的接口和服务识别点。那么我们通过这种方法识别和定义处理的服务,自然也就应该能够反向再映射出当初的端到端协同流程。

正是基于上面这个假设,我们可以进一步来通过单业务接口的监控再延伸到基于业务接口的端到端业务协同流程的交互。当然要做这件事情,我们仍然需要手工先定义端到端业务协同流程,同时在协同流程定义过程中将各个技术服务接口串联起来。这样我们就很容易实现基于核心业务单据或业务对象的端到端流程监控能力。

在这块我在前面的端到端流程监控中有过描述,但是还不够细化,如何通过配置定义实现这种自动化的反向映射后面我会再专门写文章来说明,但是当前能明确的是在服务监控做到后期,这种基于单服务监控实现的端到端跨系统业务流程监控才是真正的重点。

Copyright © 2013-2018 合肥彼岸互联信息技术有限公司 All Rights Reserved地址:合肥市高新区亚夏汽车大厦17楼
工信部备案号: 皖B2-20150071-4    增值电信业务经营许可证:皖B2-20150071-4 安全联盟认证 安全联盟认证 安全联盟实名认证

copyright@2015 合肥彼岸互联信息技术有限公司

电话:400-893-5552 0551-65371998 QQ:800022936

地址:合肥市高新区亚夏汽车大厦17楼