论文部分内容阅读
云计算使用海量资源快速为用户部署和执行资源密集型任务,但是一批新应用在要求大量计算资源的同时,也需要极低的交互延迟。由于广域网的限制,用户设备与云数据中心的交互延迟较大,不能很好地满足这类应用的需求。微云是由一组资源节点组成的小型数据中心,位于网络边缘,用户的设备可以通过网络与微云直接连接,大大降低了服务的延迟。另一方面,云服务往往使用虚拟机作为主要的服务手段,以满足资源复用和用户隔离的需求。而容器技术同样可以满足资源复用和用户隔离的需求,且与虚拟机技术相比,资源利用率更高,性能更接近物理机,启动速度更快,使得它成为我们构建微云系统的首选。微云监控系统对于保障微云的正常运行和服务优化是必不可少的,包含了两个层次的功能:微云为用户提供PaaS层服务,每个容器承载和运行了一个应用组件,监控系统需要提供应用组件运行状态的监控:为了保障微云系统的稳定运行和资源的合理使用,监控系统需要提供宿主物理机运行状态的监控,了解资源的使用状况。本文的主要工作是研究和开发一个符合容器微云特征的监控系统。首先,本文对现有监控系统的架构,数据采集,数据传输和数据存储等方面作了简要的介绍和分析,并指出了不同方式的优缺点。然后,结合容器微云的特点,设计并实现了一套容器微云的监控系统,该系统采用树型结构,主要分为监控代理和监控服务器两个部分,监控代理为叶子节点,主要负责容器信息、物理机信息和用户业务信息的采集、异常检测、数据汇总和上传等工作,监控服务器为非叶子节点主要负责对下级的监控代理或监控服务器上传的数据进行再汇总,并监控下级节点的运行状况等。论文还对该监控系统的可靠性和扩展性进行了专门的设计。再次,由于监控系统的带宽往往被限制在很低的水平,监控系统只逐级上传监控数据的摘要数据,以减少带宽的占用。但为了满足用户实时监控感兴趣的容器,系统需要为其提供实时监控数据。为了减少实时数据的传输带宽,论文采取了避免重复数据传输和减少消息头数量的策略,专门设计并实现了一种监控数据的请求聚合算法以满足低带宽的传输限制。所开发的监控系统部署在实际运行的容器微云上,论文对其进行了测试,结果表明,该监控系统很好地满足了容器微云的监控需求,且可靠性高,负载低,请求聚合算法极大的降低了监控数据传输的带宽占用。