论文部分内容阅读
随着云计算的兴起,云平台监控系统作为维持云平台稳定运行必不可少的一部分而变得越来越重要,但由于云中的资源具有分布式、大规模、动态性等特点,给云平台监控技术带来了一定的挑战。本文依托国家海洋公益项目基于发布/订阅技术构建了一个高效的B/S架构的云平台监控系统,使用户可以通过web页面订阅自己感兴趣的监控信息,并且用户不仅可以基于谓词约束对单一监控事件进行无态订阅,还可以基于对一段时间窗口内所有监控信息的聚集值约束对监控信息进行有态订阅。通过对发布/订阅技术的应用,系统可以高效地从海量监控数据中提取到用户关心的监控信息,从而使用户避免了被大量无关的监控数据所淹没,此外,该项技术对及时发现系统故障和资源瓶颈也有着重要意义。论文将云平台监控系统分为三个层次来介绍,分别是监控信息收集层、监控信息处理层和监控信息表示层。收集层基于Ganglia框架对监控信息进行收集,它由三部分构成:负责采集节点监控信息的gmond,负责汇集群簇中所有节点监控信息的gmetad,以及对监控信息进行存储的RRD数据库;监控信息处理层利用发布/订阅技术对监控信息进行过滤,并利用多线程技术及其同步机制实现了监控数据解析器、订阅管理器、订阅匹配器和事件通知管理器的并行工作;监控信息表示层由一组php脚本编写的web服务构成,该层通过对数据库的访问及与下面层次的socket通信,使用户可以通过web页面对监控信息进行订阅、查看订阅结果以及查看整个云平台的运行情况。针对系统的发布/订阅匹配策略,本文利用高维索引技术对系统中的无态订阅集建立了基于R树结构的订阅索引,从而有效地提高了监控事件与无态订阅的匹配效率;而对于有态订阅的匹配,本文提出了基于多层滑动窗口模型的MSA_Tree结构来存储不同时间粒度的监控数据概要信息,并且基于MSA_Tree结构提出了两种有态订阅匹配算法;最后给出了云平台监控系统中事件与订阅的具体匹配流程。论文最后对无态订阅匹配算法和有态订阅匹配算法分别做了实验和分析,表明了算法具有很好的扩展性和实用性,并进一步给出了云监控系统的运行示例和界面展示。