发表于 2018-5-30 13:04:40

OpenStack —— 计量服务Ceilometer(九)

  一、Ceilometer介绍
  Celiometer是OpenStack的计量与监控组件,官方的正式名称为OpenStack Telemetry,用来获取和保存计量与监控的各种测量值,并根据测量值进行报警。同时这些保存下来的测量值也可以被第三方系统获取,用来做更进一步的分析、处理或展示。

  计量与监控是公有云运营的一个重要环节,计量是为了获取系统中用户对各种资源的使用情况,监控是为了确保资源处于健康的状态。

  二、Ceilometer主要概念
  1、Resource

  被监控的资源对象,可以是一台虚拟机,一台物理机、一块云硬盘,或者OpenStack其他服务组件。
  2、Meter
  Ceilometer定义的监控项,这些监控项分为三种类型:

[*]  Cumulative:累积的,随着时间增长(如磁盘读写)。
[*]  Gauge:计量单位,离散的项目(如浮动IP、镜像上传)和波动的值(如对象存储数值)。
[*]  Delta:增量,随着时间的改变而增加的值(如带宽变化)。
  3、Sample
  采样值,是每个采集时间点上meter对应的具体值。
  4、Alarm
  Ceilometer的报警系统,可以通过阈值或者组合条件报警,并设置报警时的触发动作。
  三、Ceilometer服务组件

  1、ceilometer-agent-compute
  运行在每个计算节点上,轮询代理的一种,用于获取计算节点的测量值。
  2、ceilometer-agent-central
  运行在管理服务器上,轮询代理的一种,用于获取OpenStack服务的测量值。
  3、ceilometer-agent-notification
  通过监听OpenStack消息队列上的通知消息来获取数据。
  4、ceilometer-collector(deprecated in Ocata)
  采集和记录通知代理和轮询代理产生的事件和计量数据。
  5、ceilometer-api (deprecated in Ocata)
  Ceilometer提供的REST API服务。
  6、ceilometer-polling
  周期性地调用不同的Pollster插件,轮询获得流水线中定义的测量值。
  四、Meters数据的收集
  Ceilometer有两种数据收集方式:
  Poller Agents:

[*]  Compute agent(ceilometer-agent-compute)运行在每个compute节点上,以轮询的方式通过调用Image的driver来获取资源使用统计数据。
[*]  Central agent(ceilometer-agent-central)运行在management server上,以轮询的方式通过调用OpenStack各个组件(包括 Nova、Cinder、Glance、Neutron、Swift 等)的API收集资源使用统计数据。
  Notificaiton Agents:
  Collector(ceilometer-collector)是一个运行在一个或者多个management server上的数据收集程序,它会监控 OpenStack 各组件的消息队列。队列中的 notification 消息会被它处理并转化为计量消息,再发回到消息系统中。计费消息会被直接保存到存储系统中。

  除了监控这些对象以外,Ceilometer还可以监控Neutron的Bandwidth,以及hardware。
  功能分开之后就如下图:
  Notification Agents: Listening for data


  Polling Agents: Asking for data

  五、Meters数据处理
  1、Pipeline Manager
  Ceilometer的计量数据处理采用了Pipeline机制,Pipeline由源(Source)和目标(Sink)两部分组成。源中定义了需要测量哪些数据、数据的采集频率、在哪些端点上进行数据采样,以及这些数据的目标。目标中定义了获得的数据要经过哪些Transformer进行数据转换,并且最终交由哪些Publisher发布。
  Ceilometer中同时允许有多个Pipeline,每个Pipeline都有自己的源和目标,这就解决了不同采样频率、不同发布方式的问题。


  2、Transforming the data

  3、Publishing the data

  

  

  

  参考文档:https://docs.openstack.org/ceilometer/pike/contributor/architecture.html
  

页: [1]
查看完整版本: OpenStack —— 计量服务Ceilometer(九)