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. TreeView checkbox

    C# TreeView checkbox 联动打勾 #region 将树的checkbox选中 private void setNodeTrue(Node selNode) { Node node = ...

  2. CentOS 7设置iptables防火墙开放proftpd端口

    由于ftp的被动模式是这样的,客户端跟服务器端的21号端口交互信令,服务器端开启21号端口能够使客户端登录以及查看目录.但是ftp被动模式用于传输数据的端口却不是21,而是大于1024的随机或配置文件 ...

  3. iOS开发UI篇——Button基础

    一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状态 1. normal(普通状态) ...

  4. ID选择器

    在很多方面,ID选择器都类似于类选择符,但也有一些重要的区别: 1.为标签设置id="ID名称",而不是class="类名称". 2.ID选择符的前面是井号(# ...

  5. hdoj 2041 超级阶梯

    代码: #include <stdio.h>int main(){int n;int i;int m;int count;int dp[50];while(scanf("%d&q ...

  6. 【BZOJ2653】【主席树+二分】middle

    Description 一个长度为n的序列a,设其排过序之后为b,其中位数定义为b[n/2],其中a,b从0开始标号,除法取下整. 给你一个长度为n的序列s. 回答Q个这样的询问:s的左端点在[a,b ...

  7. UNIX 系统上的文本操作简介

    http://www.oschina.net/question/129540_53561 UNIX 的基本哲学之一就是创建只做一件事并将这一件事做好的程序(或进程).这一哲学要求认真考虑接口以及结合这 ...

  8. iOS利用响应链机制点击tableview空白处关闭键盘-可以作为参考

    http://www.jianshu.com/p/9717b792599c   是原文地址 处理关闭键盘的做法一般分为两种:1.放弃第一响应者身份:2.当前视图结束编辑.通常情况下只要我们在合适的时机 ...

  9. C语言中的字节对齐以及其相关处理

    首先,我们来了解下一些基本原理: 一.什么是字节对齐一个基本类型的变量在内存中占用n个字节,则该变量的起始地址必须能够被n整除,即: 存放起始地址 % n = 0,那么,就成该变量是字节对齐的;对于结 ...

  10. linux系统下root用户和普通用户的时区不一致

    1. 发现这个问题是在root下执行 date -R 和 普通用户下执行 date -R,发现时区不一致 2. 在一些linux机器下,发现是一致的 3. 什么原因呢?找了半天,最后发现 时区一致的机 ...