1.概述

Ceilometer是OpenStack中的一个子项目,它像一个漏斗一样,能把OpenStack内部发生的几乎所有的事件都收集起来,然后为计费和监控以及其它服务提供数据支撑。Ceilometer的核心架构图如下:

图1 Ceilometer的核心架构图

图2 Ceilometer架构模型

2.安装

2.1安装服务

apt-get install ceilometer-api
ceilometer-collector ceilometer-agent-central python-ceilometerclient

2.2配置

/etc/ceilometer/ceilometer.conf

[DEFAULT]

#rabbitMQ

rabbit_host = client

rabbit_password = 12345

rabbit_hosts = client:5672

rabbit_userid = guest

[database]

connection = mysql://ceilometer:12345@client/ceilometer

[publisher_rpc]

metering_secret = ADMIN

[keystone_authtoken]

auth_host = client

auth_port = 35357

auth_protocol = http

admin_tenant_name = service

admin_user = ceilometer

admin_password = ceilometers

2.3在keystone中创建ceilometer用户和服务endpoint

keystone user-create –name=ceilometer
–pass=CEILOMETER_PASS –email=ceilometer@example.com

keystone user-role-add –user=ceilometer
–tenant=service –role=admin

keystone service-create –name=ceilometer
–type=metering –description=”Ceilometer Telemetry Service”

keystone endpoint-create
–service-id=the_service_id_above
–publicurl=http://controller:8777/
–internalurl=http://controller:8777/
–adminurl=http://controller:8777/

2.4创建ceilometer的mysql数据表

ceilometer-dbsync

2.5重启服务

service ceilometer-agent-central restart

service ceilometer-api restart

service ceilometer-collector restart

3.API

3.1 Resources资源

获取资源的信息。

GET          
http://HOST:8777/v2/resources

列出所有资源的定义。

GET          
http://HOST:8777/v2/resources/{resource_id}

获取指定的资源的详细信息。

3.2 Meters计量

获取计量信息。

GET          
http://HOST:8777/v2/meters

到目前为止的计量数据列表。

GET          
http://HOST:8777/v2/meters/{meter_id}

获取指定ID的计量信息。

POST        
http://HOST:8777/v2/meters/{meter_id}

更新指定ID的计量信息列表。

GET          
http://HOST:8777/v2/meters/{meter_id}/statistics

计算在指定的时间范围内的样本的统计信息。

3.3 Alarms告警

列表,创建,获取详细信息,更新和删除报警。

GET          
http://HOST:8777/v2/alarms

根据指定查询,列出了警报。

POST        
http://HOST:8777/v2/alarms

创建一个报警。

GET          
http://HOST:8777/v2/alarms/{alarm_id}

获取指定ID的报警信息。

PUT          
http://HOST:8777/v2/alarms/{alarm_id}

更新指定ID的报警。

PUT          
http://HOST:8777/v2/alarms/{alarm_id}/state

设置一个指定ID的报警状态。

GET          
http://HOST:8777/v2/alarms/{alarm_id}/state

获取指定ID的报警状态。

GET          
http://HOST:8777/v2/alarms/{alarm_id}/history

组装指定ID的报警历史记录。

4.OpenStack服务的监控

4.1Compute (Nova)

所有计量来自实例,不宿主机.

名称

类型

单位

资源

Origin

说明

instance

Gauge

instance

inst ID

both

Duration of instance

instance:<type>

Gauge

instance

inst ID

both

Duration of instance <type>
(openstack types)

memory

Gauge

MB

inst ID

notification

Volume of RAM in MB

cpu

Cumulative

ns

inst ID

pollster

CPU time used

cpu_util

Gauge

%

inst ID

pollster

Average CPU utilisation

vcpus

Gauge

vcpu

inst ID

notification

Number of VCPUs

disk.read.requests

Cumulative

request

inst ID

pollster

Number of read requests

disk.write.requests

Cumulative

request

inst ID

pollster

Number of write requests

disk.read.bytes

Cumulative

B

inst ID

pollster

Volume of read in B

disk.write.bytes

Cumulative

B

inst ID

pollster

Volume of write in B

disk.root.size

Gauge

GB

inst ID

notification

Size of root disk in GB

disk.ephemeral.size

Gauge

GB

inst ID

notification

Size of ephemeral disk in GB

network.incoming.bytes

Cumulative

B

iface ID

pollster

number of incoming bytes on the network
for a VM interface

network.outgoing.bytes

Cumulative

B

iface ID

pollster

number of outgoing bytes on the network
for a VM interface

network.incoming.packets

Cumulative

packet

iface ID

pollster

number of incoming packets for a VM
interface

network.outgoing.packets

Cumulative

packet

iface ID

pollster

number of outgoing packets for a VM
interface

At present, most of the Nova meters will
only work with libvirt front-end hypervisors while test coverage was mostly
done based on KVM. Contributors are welcome to implement other virtualization
backends’ meters or complete the existing ones.

4.2 Network (Neutron)

名称

类型

单位

资源

Origin

说明

network

Gauge

network

netw ID

notification

Duration of network

network.create

Delta

network

netw ID

notification

Creation requests for this network

network.update

Delta

network

netw ID

notification

Update requests for this network

subnet

Gauge

subnet

subnt ID

notification

Duration of subnet

subnet.create

Delta

subnet

subnt ID

notification

Creation requests for this subnet

subnet.update

Delta

subnet

subnt ID

notification

Update requests for this subnet

port

Gauge

port

port ID

notification

Duration of port

port.create

Delta

port

port ID

notification

Creation requests for this port

port.update

Delta

port

port ID

notification

Update requests for this port

router

Gauge

router

rtr ID

notification

Duration of router

router.create

Delta

router

rtr ID

notification

Creation requests for this router

router.update

Delta

router

rtr ID

notification

Update requests for this router

ip.floating

Gauge

ip

ip ID

both

Duration of floating ip

ip.floating.create

Delta

ip

ip ID

notification

Creation requests for this floating ip

ip.floating.update

Delta

ip

ip ID

notification

Update requests for this floating ip

4.3Image (Glance)

名称

类型

单位

资源

Origin

说明

image

Gauge

image

image ID

both

Image polling -> it (still) exists

image.size

Gauge

B

image ID

both

Uploaded image size

image.update

Delta

image

image ID

notification

Number of update on the image

image.upload

Delta

image

image ID

notification

Number of upload of the image

image.delete

Delta

image

image ID

notification

Number of delete on the image

image.download

Delta

B

image ID

notification

Image is downloaded

image.serve

Delta

B

image ID

notification

Image is served out

4.4Volume (Cinder)

名称

类型

单位

资源

Origin

说明

volume

Gauge

volume

vol ID

notification

Duration of volume

volume.size

Gauge

GB

vol ID

notification

Size of volume

4.5Object Storage (Swift)

名称

类型

单位

资源

Origin

说明

storage.objects

Gauge

object

store ID

pollster

Number of objects

storage.objects.size

Gauge

B

store ID

pollster

Total size of stored objects

storage.objects.containers

Gauge

container

store ID

pollster

Number of containers

storage.objects.incoming.bytes

Delta

B

store ID

notification

Number of incoming bytes

storage.objects.outgoing.bytes

Delta

B

store ID

notification

Number of outgoing bytes

storage.api.request

Delta

request

store ID

notification

Number of API requests against swift

storage.containers.objects

Gauge

object

str ID/cont

pollster

Number of objects in container

storage.containers.objects.size

Gauge

B

str ID/cont

pollster

Total size of stored objects in container

4.6Energy (Kwapi)

名称

类型

单位

资源

Origin

说明

energy

Cumulative

kWh

probe ID

pollster

Amount of energy

power

Gauge

W

probe ID

pollster

Power consumption

openStack ceilometer API的更多相关文章

  1. 为自己的系统定制openstack ceilometer

    一.目的 最近研究了一下ceilometer,目的做一个监控系统,对系统中发生的事件进行处理.ceilometer对openstack各个组件信息的收集方式主要由 推 和  拉 两种. “推”: 就是 ...

  2. Openstack python api 学习文档 api创建虚拟机

    Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...

  3. Openstack Ceilometer监控项扩展

    Openstack ceilometer主要用于监控虚拟机.服务(glance.image.network等)和事件.虚拟机的监控项主要包括CPU.磁盘.网络.instance.本文在现有监控项的基础 ...

  4. OpenStack REST API使用

    以前一直想写博客,但因各种因素一直没写.最近在做OpenStack,而OpenStack对外提供REST API,今天就简要介绍一下OpenStack REST API 使用,关于什么是REST AP ...

  5. python调用openstack的api,create_instance的程序解析

    python调用openstack的api,create_instance的程序解析 2017年10月17日 15:27:24 CloudXli 阅读数:848   版权声明:本文为博主原创文章,未经 ...

  6. (弃)解读Openstack Identity API v2.0

    目前OpenStack社区提供了详尽的API文档,并配有丰富的说明和示例,关于Identity API v2查看这里, 关于Identity API v3请查看这里. 尽管现在官方已经不建议OpenS ...

  7. 使用curl调试openstack的api

    一 系统环境 OpenStack: Mitaka 工具: 最简单的工具:restclient,本次使用curl 二 开搞 访问openstack的API之前,用户使用用户名和密码向keystone进行 ...

  8. &lt;转&gt;Openstack Ceilometer监控项扩展

    Openstack ceilometer主要用于监控虚拟机.服务(glance.image.network等)和事件.虚拟机的监控项主要包含CPU.磁盘.网络.instance.本文在现有监控项的基础 ...

  9. &lt;转&gt;Openstack ceilometer 宿主机监控模块扩展

    <Openstack ceilometer监控项扩展>( http://eccp.csdb.cn/blog/?p=352 )主要介绍了对虚拟机监控项扩展, 比較简单.怎样在ceilomet ...

随机推荐

  1. ImageView 设置OnTouchListener

    ImageView的OnTouchListener,onTouch方法要返回true,MotionEvent.ACTION_UP,MotionEvent.ACTION_MOVE 才有效. 其实关于返回 ...

  2. Ubuntu系统中安装RPM格式包的方法

    Ubuntu的软件包格式为deb,而RPM格式的包则是Red Hat 相关系统所用的软件包.当我们看到一个想用的软件包时,如果他是RPM格式,而你的操作系统是Ubuntu,那岂不是很遗憾?其实,在Ub ...

  3. 40个DBA日常维护的SQL脚本--1113

    from itpub --1.查询碎片程度高的表--条件为什么block>100,因为一些很小的表,只有几行数据实际大小很小,但是block一次性分配就是5个(11g开始默认一次性分配1M的bl ...

  4. oracle-行转列

    <一>合并两个结果集,并且两个结果集的数据 根据条目自动归为一行结果集1 如下:SQL> select t1.fplx,t1.djje from yw_zjfpjl t1  ; FP ...

  5. Delphi动态创建组件,并释放内存

    开发所用delphi版本是xe2,效果图如下: 代码如下: ---------------------------------------------------------------------- ...

  6. X-Plane数据交互

    要用X-Plane进行二次开发,免不了需要进行参数的传递,下面我们来看看与X-Plane进行数据交互都有哪些方式. 与FSX和Flightgear基本一样,X-Plane支持插件,自然也支持通过插件进 ...

  7. Windows2003 下 MySQL 数据库每天自动备份

    1. 环境: windows server 2003 + Apache 2.0 + PHP5 + MySQL 4.0.26 . 2. 假设 PHP 安装目录为 D:/php ,MySQL 安装目录为  ...

  8. 使用require.js时,解决AMD封装jquery1.4.1的问题。

    require.config({ baseUrl: "js/", paths: { "jquery": "jquery-1.4.1.min" ...

  9. iOS 视频播放横屏,隐藏状态栏

    MPMoviePlayerViewController *moviePlayerViewController = [[MPMoviePlayerViewController alloc] init]; ...

  10. PHPCMS(2)PHPCMS V9 环境搭建(转)

    转自:http://www.cnblogs.com/Braveliu/p/5072920.html PHPCMS V9的学习总结分为以下几点: [1]PHPCMS 简介 PHP原始为Personal ...