论文部分内容阅读
随着云计算、移动互联网的快速发展以及穿戴式设备的兴起,企业服务器规模越来越大,客户端设备趋于微型化、个性化。大型分布式软件系统呈现出数据海量、节点众多、系统异构、交互复杂等特点,给系统运行管理、软件维护等方面带来了巨大挑战。为了应对这一挑战,可以通过监控服务实时收集资源利用、任务调度、服务质量等方面的数据,及时检测系统异常并报警,从而提高系统的可靠性。因此,监控服务在复杂系统中发挥着至关重要的作用。然而,传统监控服务存在两点问题。首先,传统监控服务仅采用名值对形式写入日志或数据库,未对监控数据内部结构及数据间的关系进行形式化定义。其次,传统监控服务往往孤立地对不同维度的监控数据进行简单处理,未涉及数据除噪、特征提取、数据融合、决策判定等方面。用户需要付出额外代价,才能从纷繁复杂的多维数据中发现异常。针对上述问题,本文提出面向信息融合的复杂系统监控服务。该服务包括资源层、逻辑层和服务层三层监控框架,考虑了监控数据的名称、数值、类型、度量、时间、地点等要素。同时,在各层框架间加入数据融合过程,通过数据融合算法将低层次数据融合成高层次数据,得出直观反映整个系统运行状态的决策数据。本文将上述监控服务架构在发布/订阅中间件平台上。监控服务的执行过程如下。1)对中间件中节点、框架和组件与监控对象中土机、进程和线程的本体进行建模。2)通过插件采集Windows、Linux端的主机、进程和网络等资源数据。3)通过阈值法、Three-Sigma法、模糊贝叶斯法将资源数据融合成反映节点健康状态的逻辑数据。4)将所有节点的资源、逻辑数据汇聚到中心节点。5)中心节点通过本体规则融合生成反映系统负载均衡状态的服务数据。6)用户通过浏览器访问可视化图表。同时,系统推送短信和邮件向用户报告系统异常。本文通过对四台PC机的数据分发应用进行监控,验证监控服务的可靠性,并对比评估了不同数据融合算法的可用性、准确性。实验结果表明,监控服务可以在节点异构、交互复杂的环境下,正确反映各个节点的资源利用情况并及时检测出异常。