【问题标题】:Can openstack ceilometer perform realtime instance monitoringopenstack ceilometer 能否进行实时实例监控
【发布时间】:2015-07-06 12:06:10
【问题描述】:

我正在开发一个用于系统监控的仪表板。我之前一直在使用云高仪的 python API。但我注意到,每次我运行程序时,它都会以这种方式从一开始就发送数据,相同的数据会重复很多次。 Ceilometer 中是否有一种方法,当我查询我的数据时,它会向我发送系统的当前值。我的代码如下

auth=v2.Password(auth_url="url", username="username", password="pass", tenant_id='009867')


sess = session.Session(auth=auth,verify=False)    
token = auth.get_token(sess)

cclient = client.get_client(2, ceilometer_url="http://orbit1.ds.cs.umu.se:8777/", token=token,verify=False)


data = cclient.samples.list(meter_name ='cpu_util')


thing = {}
msg = {}
cols = []

for row in data:
    col = {}
    col = {"x": row.timestamp, "y": row.counter_volume}
    cols.append(col)



msg['columns'] = cols

thing['message'] = msg

print json.dumps(thing, indent=4)

【问题讨论】:

    标签: openstack keystone ceilometer


    【解决方案1】:

    您可以通过在查询中添加limit 参数来获取云高仪数据库中的最新条目,例如:

    data = cclient.samples.list(meter_name ='cpu_util', limit=1)
    

    【讨论】:

      【解决方案2】:

      您可以使用过滤查询来获取某个时间间隔内的样本列表。将您获得的最后一个样本保存在某处,以便每次从该时间戳开始获取样本。

      query = [dict(field='timestamp', op='gt', value=start_timestamp), dict(field='timestamp', op='lt', value=end_timestamp)]                          
      print cclient.statistics.list(meter_name='cpu_util', q = query)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多