日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenStack监控测量服务Ceilometer安装及 API说明

發布時間:2025/4/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenStack监控测量服务Ceilometer安装及 API说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

1.Ceilometer是做什么的

Ceilometer是OpenStack中的一個子項目,它像一個漏斗一樣,能把OpenStack內部發生 的幾乎所有的事件都收集起來,然后為計費和監控以及其它服務提供數據支撐。Ceilometer的核心架構圖



2.OpenStack監控測量服務Ceilometer安裝


2.1 到github下載最新的ceilometer代碼

2.2安裝mongodb, 由于ceilometer采用mongodb作為默認數據持久化數據庫,所以需要先安裝mongodb

apt-get install mongodb

2.3在keystone中添加ceilometer用戶

需注意:添加的ceilometer賬戶需要屬于admin tenant否則會出現不能獲取實例監控信息的情況,并且將此賬戶添加為ResellerAdmin角色中便于獲取swift監控信息。 添加的ceilometer賬戶需要屬于admin tenant,并且角色為ResellerAdmin以及Admin。

查看user列表

keystone --os-username admin --os_password pass --os_tenant_name admin --os_auth_url http://localhost:5000/v2.0 user-list


查看role列表

keystone --os-username admin --os_password pass --os_tenant_name admin --os_auth_url http://localhost:5000/v2.0 role-list


查看tanant列表

keystone --os-username admin --os_password pass --os_tenant_name admin --os_auth_url http://localhost:5000/v2.0 tenant-list


新建user

keystone --os-username admin --os_password pass --os_tenant_name admin --os_auth_url http://localhost:5000/v2.0 user-create --name ceilometer --email co@co.cn --tenant-id tid --pass pass --enabled true


添加user角色

keystone --os-username admin --os_password pass --os_tenant_name admin --os_auth_url http://localhost:5000/v2.0 user-role-add --user-id uid --tenant-id tid --role-id rid

2.4安裝ceilometer

1)首先查看模塊所依賴的包

vim ceilometer/requirements.txt

  • d2to1>=0.2.10,<0.3

  • pbr>=0.5,<0.6

  • WebOb>=1.2

  • kombu

  • iso8601

  • argparse

  • SQLAlchemy>=0.7,<=0.7.99

  • sqlalchemy-migrate>=0.7.2

  • pymongo>=2.2

  • eventlet

  • anyjson>=0.2.4

  • Flask==0.9

  • pecan>=0.2.0

  • stevedore>=0.7

  • msgpack-python

  • python-glanceclient

  • python-novaclient>=2.6.10

  • python-keystoneclient>=0.2.3

  • python-swiftclient

  • lxml

  • requests>=1.1

  • wsme>=0.5b2

  • pyyaml

  • oslo.config>=1.1.0

  • happybase>=0.4

  • 復制代碼

    此版本ceilometer使用G版本Openstack中新加的oslo.config模塊完成配置文件讀取模塊。

    此外要求WebOb的版本要在1.2以上,查看F版本Openstack使用的此庫版本為1.0.8,這是比較大的沖突,并且發現有很多人反映此庫與之前的庫不兼容的情況(https://bugs.launchpad.net/ceilometer/+bug/1092227),在我實際的安裝過程中也發現此庫不能被python-novaclient, python-glanceclient等庫所使用。于是我使用virtualenv(https://pypi.python.org/pypi/virtualenv)建立了一個隔離的python環境來安裝運行ceilometer及相關依賴。




    2)安裝virtualenv并建立隔離沙箱

    sudo pip install virtualenv #安裝

    virtualenv grizzlyenv #建立名為grizzlyenv的隔離環境

    source grizzlyenv/bin/activate #進入grizzlyenv隔離環境

    進入后在提示符前會出現提示,如??

    (grizzlyenv)root@ceilotest:/opt#

    在此環境下,有一套獨立于全局python的環境,在此使用pip和easy_install安裝python包都可以不影響全局的python環境,使用完畢之后使用deactivate命令即可退出到全局環境,相關的使用方法在網上都可以找到,在此不贅述




    3)隔離環境安裝完畢之后,就能夠在這之中安裝ceilometer了

    #cd ceilometer

    #python setup.py develop

    安裝完之后可以看到所依賴的包都安裝在了grizzlyenv/lib/python2.7/site-packages/ 路徑之下。

    將ceilometer/etc/ceilometer/下所有文件拷貝到/etc/ceilometer/目錄下(沒有則新建),并將其中ceilometer.conf.sample文件修改為:

    ceilometer.conf

  • [DEFAULT]

  • verbose=True

  • debug=True

  • os_auth_url = http://192.168.5.202:35357/v2.0

  • os_tenant_name = admin

  • os_password = admin

  • os_username = ceilometer

  • policy_file = /etc/ceilometer/policy.json

  • notification_topics = notifications,glance_notifications

  • rabbit_password = admin

  • rabbit_host = 127.0.0.1

  • rabbit_max_retries = 10

  • rpc_backend = ceilometer.openstack.common.rpc.impl_kombu


  • [keystone_authtoken]

  • signing_dir = /etc/ceilometer

  • admin_tenant_name = admin

  • admin_password = admin

  • admin_user = ceilometer

  • auth_protocol = http

  • 復制代碼

    4) 啟動ceilometer

    在screen中開啟四個選項卡,依次運行:

    ceilometer-collector

    ceilometer-agent-central

    ceilometer-agent-compute

    ceilometer-api

    分別對應ceilometer架構中的四個重要模塊,在ceilometer-agent-compute啟動的過程中可能會出現No module named libvirt的問題,這是因為隔離環境中沒有安裝python-libvirt的緣故,但是同時發現無法使用pip來安裝此庫,但是使用dpkg -l命令查看是發現python-libvirt的確已經安裝,于是直接將全局環境中的相關文件拷貝到隔離環境中來并修改相應權限:

    cp /usr/lib/python2.7/dist-packages/libvirt* /opt/stack/grizzlyenv/lib/python2.7/site-packages/


    chown stack:stack /opt/stack/grizzlyenv/lib/python2.7/site-packages/libvirt*

    這樣應該就能夠正常啟動了,啟動之后可以到mongodb中查看相應的數據記錄。



    3.OpenStack監控測量服務Ceilometer??API說明


    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的報警歷史記錄。


    轉載于:https://my.oschina.net/u/2381034/blog/484282

    總結

    以上是生活随笔為你收集整理的OpenStack监控测量服务Ceilometer安装及 API说明的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。