zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    RESTful Web服务的操作
    Nginx学习之如何搭建文件防盗链服务
    PostgreSQL10.5安装详细步骤(Win10)
    前端安全系列(一):如何防止XSS攻击?
    【原码笔记】-- protobuf.js 与 Long.js
    【微信开发】-- 发送模板消息
    能编程与会编程
    vue2入坑随记(二) -- 自定义动态组件
    微信上传图片
    vue2入坑随记(一)-- 初始全家桶
  • 原文地址:https://www.cnblogs.com/ruiy/p/OpenstackMonitorAPI.html
Copyright © 2011-2022 走看看