1.9计量管理
  A4xxB2Tgmb33 2023年11月02日 82 0

1、Ceilometer简介

Ceilometer的数据可为所有OpenStack核心组件提供客户计资源跟踪和警报功能

1.9计量管理_数据


2、Ceilometer架构

1.9计量管理_守护进程_02

Ceilometer提供Polling Agent和Notification Agent两项核心服务,支持水平扩展。

Polling Agent: 用于询OpenStack服务和构建Meters的守护进程

Notification Agent: 用于监听消息队列上的通知,将它们转换为事件和样本,并应用管道操作的守护进程

1.9计量管理_守护进程_03

方式一: 第三方的数据发送者把数据以通知消息( Notification Message )的形式发送到消息总线(Notification Bus )上,Notification Agent会获取这些通知事件,并从中提取测量数据。

方式二: Polling Agent会根据配置定期、主动地通过各种API或其他通信协议去远端或本地的不同服务实体中获取所需要的测量数据

Ceilometer支持发布到多个目的地

通过Gnocchi API发送给Gnocchi,实现数据保存;

发布通知到消息队列以供外部系统使用;

发送到Prometheus;

发送到Zaqar(一种面向 Web 和移动开发人员的多租户云消息传递和通知服务);

存储到一个文件中。


3、Ceilometer数据管理

1.9计量管理_数据_04

1.9计量管理_守护进程_05

轮询代理( Polling Agent,根据配置定期、主动地通过各种API或者其他通信协议去OpenStack本地服务中或者远端获取所需要的测量数据,然后发送至Notificationbus。再由通知代理( Notification Agent)接收总线上生成的消息,并将它们转换为Ceilometer样本或事件。

1.9计量管理_消息队列_06

通知代理( Notification Agent): 监听数据,通知守护进程(agent-notification )由它监视消息队列中其他OpenStack组件(如Nova、Glance、Cinder、Neutron、Swift、Keystone和Heat ) 发送的数据,以及Ceilometer内部通信。通知守护进程使用命名空间加载一个或多个侦听器插件( ceilometer.notification每个插件都可以收听任何主题,侦听器从配置的主题中获取消息,并将它们重新分发到适当的插件以处理成事件和样本

1.9计量管理_消息队列_07

Ceilometer引入Pipeline的概念来解决采样频率和发布方式的问题。在Ceilometer中,同时允许有许多个Pipeline,每个Pipeline都是由源 ( source )和目标( sink ) 两部分组成。

源中定义了,需要测量的数据、数据的采样频率、在哪些Endpoint上进行数据采样以及这些数据的目标。

目标中定义了,获得的数据要经过哪些转换器( Transformer)进行数据转换并且最终由哪些Publisher进行数据发布。

1.9计量管理_消息队列_08

上图所示,定义了两个不同的Publisher,分别采用message bus上的oslo.messagingGnocchi两种不同的方式同时将一个数据采样值发布给不同的数据接收者。也就是说Ceilometer支持发布到多个目的地。如上图,通过Gnocchi API发送给Gnocchi,实现数据保存;发布通知到消息队列以供外部系统使用等。

目前已有多种Publisher:

Gnocchi: 发布采样/事件给Gnocchi APl;

UDP: 把采样数据封装在UDP包内,然后向某个管理员可配置的UDP地址和端口发送;

HTTP: 发布采样值到REST接口;

。 File: 把采样数据内容以log形式保存在某个管理员可配置的文件中;Prometheus: 发送给Prometheus接收网关。

1.9计量管理_守护进程_09

1.9计量管理_数据_10



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

A4xxB2Tgmb33
作者其他文章 更多