openStack ceilometer API
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> |
|
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 |
|
network.outgoing.bytes |
Cumulative |
B |
iface ID |
pollster |
number of outgoing bytes on the network |
|
network.incoming.packets |
Cumulative |
packet |
iface ID |
pollster |
number of incoming packets for a VM |
|
network.outgoing.packets |
Cumulative |
packet |
iface ID |
pollster |
number of outgoing packets for a VM |
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的更多相关文章
- 为自己的系统定制openstack ceilometer
一.目的 最近研究了一下ceilometer,目的做一个监控系统,对系统中发生的事件进行处理.ceilometer对openstack各个组件信息的收集方式主要由 推 和 拉 两种. “推”: 就是 ...
- Openstack python api 学习文档 api创建虚拟机
Openstack python api 学习文档 转载请注明http://www.cnblogs.com/juandx/p/4953191.html 因为需要学习使用api接口调用openstack ...
- Openstack Ceilometer监控项扩展
Openstack ceilometer主要用于监控虚拟机.服务(glance.image.network等)和事件.虚拟机的监控项主要包括CPU.磁盘.网络.instance.本文在现有监控项的基础 ...
- OpenStack REST API使用
以前一直想写博客,但因各种因素一直没写.最近在做OpenStack,而OpenStack对外提供REST API,今天就简要介绍一下OpenStack REST API 使用,关于什么是REST AP ...
- python调用openstack的api,create_instance的程序解析
python调用openstack的api,create_instance的程序解析 2017年10月17日 15:27:24 CloudXli 阅读数:848 版权声明:本文为博主原创文章,未经 ...
- (弃)解读Openstack Identity API v2.0
目前OpenStack社区提供了详尽的API文档,并配有丰富的说明和示例,关于Identity API v2查看这里, 关于Identity API v3请查看这里. 尽管现在官方已经不建议OpenS ...
- 使用curl调试openstack的api
一 系统环境 OpenStack: Mitaka 工具: 最简单的工具:restclient,本次使用curl 二 开搞 访问openstack的API之前,用户使用用户名和密码向keystone进行 ...
- <转>Openstack Ceilometer监控项扩展
Openstack ceilometer主要用于监控虚拟机.服务(glance.image.network等)和事件.虚拟机的监控项主要包含CPU.磁盘.网络.instance.本文在现有监控项的基础 ...
- <转>Openstack ceilometer 宿主机监控模块扩展
<Openstack ceilometer监控项扩展>( http://eccp.csdb.cn/blog/?p=352 )主要介绍了对虚拟机监控项扩展, 比較简单.怎样在ceilomet ...
随机推荐
- NetAdvantage webdatagrid 控件的一些属性
属性: 1 behaviors 行为下的属性集合 Row Selectors 主要用于设置行选择样式与形为的集合 Enable 属性表示是否启用 Row Selectors下的属性设置 RowNumB ...
- Web性能压力测试之Webbench使用详解
Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发.Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同 ...
- HTTP请求返回的NSData无法转换为NSString
最近在做的一个项目中有一个功能是有一个网页,模拟http请求获取到这个网页返回的相应的数据. 在请求完成后获取到的数据为NSData类型,按照我们通常的转换为NSString的方法: NSString ...
- 读懂IL代码(二)
上一篇提到了最基本的IL代码,应该是比较通俗易懂的,所以有了上一篇的基础之后,这篇便要深入一点点的来讲述了. 首先我必须再来说一些重要的概念: Evaluation Stack(评估栈):这是由.NE ...
- 几种不同存储形式下的数据挖掘问题[ZZ]
从原理上说,数据挖掘应该可以应用到任何信息存储方式的知识挖掘中,但是挖掘的挑战性和技术会因为源数据的存储类型的不同而不同.特别是,近年来的研究表明数据挖掘所涉及的数据存储类型越来越丰富,除了一些有通用 ...
- 51nod建设国家
小C现在想建设一个国家.这个国家中有一个首都,然后有若干个中间站,还有若干个城市. 现在小C想把国家建造成这样的形状:选若干(可以是0个)的中间站把他们连成一条直线,然后把首都连在这一条直线的左端.然 ...
- jQuery慢慢啃之属性(三)
1.attr(name|properties|key,value|fn)设置或返回被选元素的属性值. $("img").attr("src");//获取属性 $ ...
- LNMP安装WordPress3.4.2看不到主题解决方法
喜欢LNMP配置环境的朋友,又是wordpress建立的博客程序,安装之后发现一个问题在网站后台看不到模板主题,重新下载了一款新的主题也查看不了.开始以为是程序的问题,于是我重新下载新版本的WordP ...
- 知识库系统confluence5.8.10 安装与破解
一直对知识库体系很在意,设想这样的场景,公司历年的研发资料只要一个搜索,相关的知识点就全部摆在面前,任君取用,想一想就无限迷人,只是从10年开始,由于种种原因,终究没能好好研究一下.最近机缘巧合,可以 ...
- 『重构--改善既有代码的设计』读书笔记----Hide Delegate
所谓委托关系,就是一个类对于另一个类来说纯粹作为接口转发,即客户通过一个委托类去调用另一个对象.直白的委托关系就是委托类直接返回出目标类给客户调用,这个关系很麻烦,因为委托关系的变动就会影响客户端的代 ...