• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > 《转》ceilometer的数据采集机制入门,《转》ceilometer

《转》ceilometer的数据采集机制入门,《转》ceilometer

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含ceilometer,openstack ceilometer,ceilometer命令,新三板转板机制,转板机制等服务器相关知识,网友希望可以进行参考

《转》ceilometer的数据采集机制入门,《转》ceilometer


问题导读

1.ceilometer负责什么事情?
2.ceilometer 有哪些概念?
3.ceilometer 如何采集hardware?



附上openstack 官网API   http://docs.openstack.org/developer/python-ceilometerclient/

ceilometer主要负责监控数据的采集,采集的项目包括虚拟机的性能数据,neutron-l3-router使用的网络带宽,glance&cinder&swift等租户使用信息,甚至是通过snmp采集物理机的信息,以及采集支持opendaylight的网络设备信息。
基本概念
ceilometer 主要有下面几个概念:
  • meter 是ceilometer定义的监控项,诸如内存占用,网络IO,磁盘IO等等
  • sample 是每个采集时间点上meter对应的值
  • statistics 一般是统计学上某个周期内,meter对应的值(平均值之类)
  • resource 是被监控的资源对象,这个可以是一台虚拟机,一台物理机或者一块云硬盘
  • alarm 是ceilometer的告警机制,你可以通过阈值或者组合条件告警,并设置告警时触发的action

采集机制

ceilometer的各个服务中,与采集相关的服务是ceilometer-collector、ceilometer-agent-central、ceilometer-agent-compute、ceilometer-agent-notification。我们可以通过下图了解一下他们之间的关系:




agent-*服务负责采集信息,采集的信息可以通过三种方式publish出来,包括RPC、UDP、File。RPC是将采集的信息以payload方式发布到消息队列,collector服务通过监听对应的queue来收集这些信息,并保存到存储介质中;UDP通过socket创建一个UDP数据通道,然后collector通过bind这个socket来接收数据,并保存到存储介质中;File方式比较直接,就是将采集的数据以filelog的方式写入log文件中。


至于使用哪种方式publish,那么就要看你的pipline文件是如何配置的了,具体可以查看/etc/ceilometer/pipline.yaml中的publishers配置。

agent-*三个采集组件分别负责采集不同类型的信息,agent-notification负责收集各个组件推送到oslo-messaging的消息,oslo-messaging是openstack整体的消息队列框架,所有组件的消息队列都使用这个组件;agent-compute只负责收集虚拟机的CPU内存IO等信息,所以他需要安装在Hypervisor机器上;agent-central是通过各个组件API方式收集有用的信息;agent-notification只需监听AMQP中的queue即可收到信息,而agent-compute和agent-central都需要定期Poll轮询收集信息。看下图来了解一下:





信息通过agent-*采集并由collector汇总处理,最终需要持久化到存储介质中,ceilometer目前支持的存储包括mysql、DB2、HBase、mongoDB,从支持的数据库来看,监控数据持久化的压力还是相当大的。





采集项

agent-*组件在启动时候,通过stevedore的插件机制来加载采集项,包括每个采集项对应的执行程序。stevedore的插件配置是利用了setuptools的entry_points,所以我们可以通过查看entry_points的配置信息,来确定有哪些采集项。如果你的程序打包完毕并发布到了python的搜索路径中,那么你需要查看ceilometer的egg文件来查看,或者你可以下载源码查看setup.cf文件,相关信息如下:





ceilometer.notification 对应的是agent-notification组件,ceilometer.poll.compute对应的是agent-compute组件,ceilometer.poll.central对应的是agent-central组件。

采集neutron l3 router 的bandwidth

与ceilometer其他采集方式不同的是,bandwidth的采集是通过neutron-meter-agent收集,然后push到oslo-messaging,ceilometer-agent-notification通过监听消息队列来收取bandwidth信息,可以看一些官方的wiki(https://wiki.openstack.org/wiki/Neutron/Metering/Bandwidth)。

按照wiki上的描述,设置好rule,ceilometer就可以收集bandwidth信息了,router上的流量计算是利用了iptables的特性,iptables本身可以用于做流量统计,这里不清楚的去Google一下即可。

比如我们使用neutron-meter 设定了这样一组规则:





那么对应此规则建立的iptables规则如下:





neutron-meter-agent 会在设定的间隔时间内去通过iptables统计流量,然后push到oslo-messaging:





采集hardware

ceilometer除了可以收集openstack组件的相关信息,也可以收集诸如kwapi、hardware、opendaylight信息。kwapi是采集物理机能耗信息的项目,agent-central组件通过kwapi暴露的api来收集物理机的能耗信息;agent-central也可以通过snmp协议直接收集hardware的CPU、MEM、IO等信息;opendaylight是SDN解决方案的开源项目,opendaylight规范中包括暴露一个API接口来提供SDN内部的一些信息,agent-central正是通过这个API可以收集opendaylight组件的信息。

如果我们想扩展这些监控信息,需要对ceilometer增加一些额外的配置,但是这些配置原理都是一样的,我们这里以采集hardware信息为例。

首先需要在被监控的hardw上开启SNMP协议,比如我们要监控一台物理机host为icehouse-ncloud-compute-a1,系统为ubuntu,先安装snmp和snmpd包,然后修改配置文件:






重启snmp服务,在ceilometer的pipline.yaml文件中加入如下(以采集hardware.memory为例),interval是poll的轮询间隔时间,可以按自家需求配置:




通过 ceilometer meter-list | grep hardware ,可以看到新增的监控项,如果要查看监控数据可以这样:




版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 《转》Ubuntu14.04 openstack juno配置之 ceilometer遥测模块安装配置,《转》ubuntu14.04
  • 《转》OpenStack Ceilometer 安装配置和API说明,《转》openstack
  • 《转》ceilometer的数据采集机制入门,《转》ceilometer
  • <转>Openstack Ceilometer监控项扩展,openstackceilometer
  • <转>Openstack ceilometer 宿主机监控模块扩展,openstackceilometer

相关文章

  • 用户大会/会销怎么搞-Zoho CRM用户大会有感,-zohocrm
  • @PathVariable和@RequestParam的区别,@pathvariable
  • openstack-计算节点安装(Node),openstack-node
  • 分析MapReduce与Storm的异同,mapreducestorm
  • Hadoop DistributedCache使用案例,hadoopcache
  • Ambari Metrics介绍,ambarimetrics介绍
  • 家,我日夜思念的名字,我回来了,
  • hive 优化的原则,hive优化原则
  • hadoop集群搭建之NFS服务,hadoop集群nfs
  • 玩转OpenStack网络Neutron(2)--使用Open vSwitch实现VLAN类型租户网络,openstackvswitch

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • mahout简介及安装配置
    • nova event机制分析,novaevent机制
    • Spark Core and Cluster Managers(翻译自Learning.Spark.Lightning-Fast.Big.Data.Analysis),
    • R720 disable hyperthreading,r720hyperthreading
    • hive创建分区,hive创建
    • openstack安装经验总结,openstack经验总结
    • Storm简述及集群安装,Storm简述集群安装
    • Spark性能优化指南:高级篇
    • hbase,hbase安装
    • Redis源码学习-Lua脚本,redis源码-lua

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有