我是靠谱客的博主 淡定冥王星,最近开发中收集的这篇文章主要介绍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>
(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的全部内容,希望文章能够帮你解决openStack ceilometer API所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部