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. R文件丢失异常原因汇总

    引言: R文件丢失异常在java开发中是个比较常见的异常,造成这个异常的原因可能非常微小,但是给Android开发者们造成的麻烦可是巨大的,当程序员们费尽千辛万苦,找到自己错在哪里的时候,绝对会对自己 ...

  2. 函数对象的prototype总结

    通过看 http://www.cnblogs.com/mindsbook/archive/2009/09/19/javascriptYouMustKnowPrototype.html 该文章和对代码的 ...

  3. SQL觸發器聯級刪除

    Create TRIGGER [dbo].[trigInstructionsDelete] ON dbo.Instructions instead OF DELETE AS BEGIN DECLARE ...

  4. 安装SQLServer2008后Windows防火墙上的端口开放

    1.打开SQL Server 配置管理器-->SQL Server 网络配置-->XXX的协议,启用TCP/IP协议2.打开TCP/IP协议的属性,切至“IP地址”标签,拉至最下端的IPA ...

  5. Windows 8 / 8.1 禁用驱动签名最详细图文教程

    Windows 8 鼠标右上角/右下角弹出边栏,选择“设置” 点击“更改电脑设置”: 选择“常规”,右侧拖到底,点击“高级启动”-“立即重启”: 稍后进入恢复页面,选择“疑难解答” 进入疑难解答后,选 ...

  6. C#编程连接数据库,通过更改配置文件切换数据库功能。

           该实例主要应用情景:假如某公司用mysql当做数据库服务器,由于发现mysql数据库在运行中出现不稳定情况,针对这情况,厂家要求更换连接数据库方式,改用SQL server数据库,来满足 ...

  7. 面试后 follow up letter 分享

    分享一下最近面试外企的follow up letter. Dear Mr. Xu,     Thank you again for the time you and Mr. Guo spent wit ...

  8. dedecms设置文章分页后,标题会带有序号的解决方法

    至于删除分页后标题后面的序号,找到include/arc.archives.class.php 打开,找到 if($i>1) $this->Fields['title'] = $this- ...

  9. ajax xmlhttprequest status

    status 0**:未被始化 status 1**:请求收到,继续处理 status 2**:操作成功收到,分析.接受 status 3**:完成此请求必须进一步处理 status 4**:请求包含 ...

  10. Python爬虫常用模块,BeautifulSoup笔记

    import urllib import urllib.request as request import re from bs4 import * #url = 'http://zh.house.q ...