在做openstack资源统计监控中通过ceilometer+gnocchi获取cpu、memory的使用率,遇到了很多的坑,在一下分别记录,并附上实现的源码。

自从openstack发布到 S 版本以来,有些组件的获取数据的方式发生了很多的变化,需要持续关注的组件开源发展的人会知道,但是如果只是在网上搜一些博客等之类的文章,可能不够全面,例如前两年很多企业用的是 M、N等版本,其中有个统计参数 cpu_util ,用来获取cpu的使用率,但在 S 版本以后,你只能获取到 cpu 、vcpus 这样的参数了。这些参数并不是直接的使用率,但是通过聚合求值可以转化为使用率,为了进一步的测试,在前面的文章中提到了服务器压力测试,来查看获取结果的准确性,比如,你通过获取cpu的转化得到的使用率,它其实是多个cpu使用率之和,你如果给vm虚拟机分配的是单核,当然是不受影响的,但是如果是分配的多核,且每个核的cpu跑满的时候,就会发现问题,比如你计算得出的cpu使用率可能大于100%等等。

服务器压力测试可以参考下面的文章:

Linux服务器对cpu、memory、IO、disk以及web服务(CPU、内存、磁盘、网络等)进行压力测试

在这里,先附上如何通过API的方式获取虚拟机vm、主机节点compute node 的cpu、内存使用率,后面会写到应该注意的地方,在环境部署和虚拟机配置需要注意的地方,以及使用的参考资料会在后面列出。

openstack资源统计监控系列之ceilometer+gnocchi获取cpu、memory项目实战及实现源码(三)相关推荐

  1. openstack资源统计监控系列之ceilometer+gnocchi获取VM虚拟机网卡数据流量统计项目实战及实现源码(四)

    在做openstack资源统计监控中通过ceilometer+gnocchi获取cpu.memory的使用率,获取VM虚拟机网卡数据流量统计,虚拟机多网卡分别获取流量统计以及针对虚拟机实例进行总的流量 ...

  2. openstack资源统计监控系列之gnocchi介绍及使用(二)

    1  采集模块整体架构 如图一

  3. ceilometer + gnocchi 获取数据

    ceilometer 数据采集 环境:ocata 先看下面这张结构图: 图片来源于官网 这里划分了四大块,一块是数据采集ceilometer, 一个是数据的存储gnocchi,另一个是事件的存储pan ...

  4. c++ map 获取key列表_好未来Golang源码系列一:Map实现原理分析

    分享老师:学而思网校 郭雨田 一.map的结构与设计原理 golang中map是一个kv对集合.底层使用hash table,用链表来解决冲突 ,出现冲突时,不是每一个key都申请一个结构通过链表串起 ...

  5. leaflet-webpack 入门开发系列二加载不同在线地图切换显示(附源码下载)

    前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载 webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 ...

  6. 【毕业设计/matlab系列】基于Matlab的立体视觉匹配算法实现【含Matlab源码】

    Date: 2022.5.29 文章目录 代码获取方式 1.前言 2.算法原理 3.实现效果 4.部分matlab代码 5.参考文献 代码获取方式 方式一:订阅付费专栏 <毕业设计代码进阶版&g ...

  7. 【设计模式系列20】解释器模式原理及其在JDK和Spring源码中的体现

    解释器模式原理及其在JDK源码中的体现 设计模式系列总览 前言 什么是解释器模式 终结符表达式和非终结符表达式 解释器模式示例 解释器模式角色 解释器模式在JDK和Spring源码中应用 解释器模式应 ...

  8. React Native Android入门实战及深入源码分析系列(1)——Hello world

    转载需注明出处:http://blog.csdn.net/minimicall?viewmode=contents 从今天起,我要分析React Native for Android的源码. 本系列主 ...

  9. 【资源分享】高俊峰老师作品《linux集群应用实战》 视频源码分享

    [size=medium][size=x-small]大家好, 与大家分享一些linux集群的学习资料,对开发入门或者是想提升技术高度的同学可能会比较有用,希望可以帮助到大家,祝大家都能够学习进步,事 ...

最新文章

  1. icmp反弹shell 简介
  2. Go 变量及基本数据类型2
  3. Android事件处理之多点触摸与手势识别
  4. AspnetCore 2.0 自动API文档生成组件,支持protobuffer
  5. 开发html,HTML开发基础
  6. SQL Server 2012安装配置(Part2 )
  7. 如何实现A星寻路算法 Cocos2d-x 3.0 beta2
  8. 拔染印花几点注意事项
  9. 情感计算在淘宝UGC的应用
  10. mysql post 注入工具类_【Mysql sql inject】POST方法BASE64编码注入write-up
  11. try……catch的异常捕获机制
  12. 积木导出pdf打不开文件,后台报空指针
  13. Python数据处理Tips日期、时间数据处理方法汇总
  14. 使用Python绘制二元函数图像
  15. c++调用Python [boost::python]
  16. 封装获取一个URL地址问号后面传递的参数信息以及哈希值HASH 方法
  17. 如何提高SQL语句的能力?
  18. 关于WinForm中Pannel的定位问题 May 18th, 2010
  19. 复制网页内容自动添加版权信息的方法
  20. 洛谷-5149 会议座位

热门文章

  1. Kotlin常用高阶函数
  2. 2021爱智先行者—智能灯光开关
  3. eclipse 中get set方法自动生成注释
  4. ProcessingJoy ——互斥的文字【JAVA】
  5. (vue)h5 通过百度地图(原生) 获取当前位置
  6. 华为手机的备忘录,你真的会用吗?这4个小功能,很多人都不会用
  7. matplotlib学习笔记 - 散点图、条形图和直方图
  8. HTML5开发手机项目-个人总结(转)
  9. 《生命·觉者》蔡志忠:一个人,活出自己是最重要的
  10. wtp servers