博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ceilometer架构简要分析
阅读量:6819 次
发布时间:2019-06-26

本文共 1187 字,大约阅读时间需要 3 分钟。

Ceilometer架构简要分析

最近因为工作的需要以及论文的方向,需要了解OpenStack监控方面的知识。所以深入看了一下OpenStack的Ceilometer,大致分析了一下Ceilometer的实现机制和工作流程,因此也就形成了本文的对Ceilometer的一个大致框架介绍。

数据采集

Ceilometer的数据采集方式主要分为Poll和Push方式两种。

其中Push方式主要采集为OpenStack中各个组件模块中无法定时主动获取的事件消息,例如:虚拟机的创建,镜像的上传等等。该种方式的消息 的采集依赖各个组件在事件发生时,依赖Ceilometer提供的消息机制将事件消息上报至消息队列当中。然后由Ceilometer- Collector中的notification-agent收集消息队列中的事件消息,然后交由指定的Pipeline将消息转换为指定的采样数据 (Samples),转换之后的采样数据会被重新发送至消息队列当中,然后由Collector收集处理并存入数据库当中(MongoDB)。主要架构如 下图:

Poll方式主要采集OpenStack中的各个组件的统计数据和计算节点中的实时数据(该数据也是可以被随时统计获取的)。

在Controller节点上,Poll方式主要是启动相应的轮询进程(Pollsters),依靠轮询进程定期调用组件模块的APIs获取各个组件的数据信息。然后将数据交由Pipeline进行处理,最后由Collector处理存储。此过程与上述Push方式一致。

在Compute节点上,Poll方式也是启动相应的轮询进程(Pollsters),依靠轮询进程定期查询相应的信息,只是在数据采集方式上,采 用虚拟机的相关驱动获取虚拟机的信息,目前主要的部署方案都是采用KVM-QEMU实现虚拟化,因此,底层信息获取上,采用的为LibVirt操纵虚拟 机,同时也是通过LibVirt获取虚拟机的相关信息。当数据被采集之后,其之后的处理流程与上述两种方式都是一致的。

数据处理

前 面的数据采集工作完成之后,采集来的数据会交由Pipeline进行数据处理,Pipeline主要实现的是一个数据处理链的功能。Pipeline会根 据不同的配置将0个或一个或多个Transformers组装成为一条数据处理链,在这条数据处理链的末端,会被装配一个Publisher。当数据进入 这条数据处理链后,会被Transformers加工处理,然后由Publisher发送至消息队列当中,由Collector收集。

Collector会时刻监听着消息队列,从消息队列中获取监控数据,然后将数据存入MongoDB中进行持久化。

转载于:https://www.cnblogs.com/Dennis-mi/articles/5527277.html

你可能感兴趣的文章
16、Java并发性和多线程-死锁
查看>>
Linux下用netstat查看网络状态、端口状态
查看>>
Java 实现有序链表
查看>>
zoj 1203 Swordfish
查看>>
手机怎么访问电脑服务器上的网页
查看>>
Python帮助函数调试函数 用于获取对象的属性及属性值
查看>>
制做rpm包工具fpm安装
查看>>
POJ 2253-Frogger (Prim)
查看>>
哪种锻炼方式最能让程序猿远离亚健康? - 强烈推荐
查看>>
基于Metronic的Bootstrap开发框架经验总结(15)-- 更新使用Metronic 4.75版本
查看>>
Kafka(二)-- 安装配置
查看>>
MapReduce 图解流程
查看>>
网络安全基本概念
查看>>
[总结]高效的jQuery代码编写技巧总结
查看>>
有没有想过,也许一辈子你都是个小人物
查看>>
[LeetCode] Wildcard Matching
查看>>
Android开发系列(二十三):实现带图片提示的Toast提示信息框
查看>>
深入解析Windows窗体创建和消息分发
查看>>
AIX下RAC搭建 Oracle10G(六)dbca建库
查看>>
vs code 快捷键中英文对照
查看>>