在服务日志监控和统计分析的时候,我们一般会监控两个内容,第一个是调用次数,第二是调用耗时,在这个基础上需要再增加消息日志的数据量,每次服务调用都有数据量,同时也需要统计单位时间里面的平均传递数据量大小。即:
运行次数+时长+数据量: 三者结合才能够更好的分析和评估服务性能和平台性能。同时也快速的找出各种非法不合理的调用情况,进行提前预防和处理。
对于消息报文的全文检索和基于关键业务字段的业务关键字查询功能 ,我们基本已经基于Solr开源引擎实现,即可以进行全文的模糊查找,也可以基于某个业务关键字进行精确查询。查询性能基本都是在毫秒级即完成。整个处理机制和原来有变化,即原来我们考虑是JMS消息直接分发到数据库和Solr库,现在模式修改为消息仍然只分发到数据库,然后再从数据库抽取索引新到Solr库,Solr数据库本身只存储索引而不存储具体的日志。
服务单元和连通性测试功能 ,对于服务测试功能,可以直接在管控前台对封装后的代理服务进行服务测试,同时对于各种类型的字段给出具体的默认值,这个功能已经实现。而现在需要考虑在该基础上再增加一个功能,即对原始服务进行测试,以确定在服务连通性测试出现问题的时候,快速的发现是否是原始服务出现了问题。
基于IP的访问控制和授权 ,对于这个功能实际上需要进一步的优化。
首先看下现在的设置,即有一个全局变量首先来设置是否启用IP控制,如果启用了那么多所有服务消费都会启用该控制。如果没有进行服务访问授权,那么就无法访问服务。那么在这种场景下即IP控制启用后,我们希望对合同系统作为消费方时暂时不启用,对于这种能力就无法进行设置。
因此基于IP访问控制和授权,需要同时提供黑名单和白名单的管理能力。简单来说或存在如下场景。
1. 将一个业务系统加入黑名单,即不论做了什么样的IP控制和访问设置,该业务系统无法访问所有服务。
2. 将一个业务系统加入白名单,即对于该业务系统和IP完全不进行消费端的控制。
对于黑白名单功能和IP访问控制功能集合,才能够实现更好的服务访问授权管理。
对于JMS订阅日志查询: 需要增加一个JMS延时情况统计功能,超过多少分钟这个值可以灵活设置。方便后续监控JMS延时接收的情况。对于JMS订阅接收出现延迟的问题,实际上当前还没有找到明确的原因点。
对于路由服务的日志查询功能 ,该功能需要进一步优化,即如果一个接口服务需要路由到10个目标点,那么我们现在的日志查询功能是不能快速的查询到是否10个目标点都进行了测试和覆盖,都正常跑通。而对于路由服务本身实际上就是10个子服务的组合,因此需要基于路由一个服务能够快速的查询到按省的情况。也可以理解为该需求为一个路由服务的统计分析功能。
对于路由服务,实际上是基于MsgHeader消息头中的信息进行的,因此需要在路由服务处对日志进行拦截的时候,将路由字段的信息需要单独记录到日志表才行。否则在当前详细的日志实例表,估计很难判断出来该服务日志究竟是对应的哪个省的数据日志。
原文 http://blog.sina.com.cn/s/blog_493a84550102xmfu.html