计量与监控是OpenStack系统中不可或缺的一部分,该功能由Ceilometer组件完成。本章从Ceilomete的体系架构谈起,首先简单介绍了Ceilometer的起源和几个重要概念,之后介绍了Ceilometer的架构及关键组件,使读者对Ceilometer有个整体的了解。然后详细剖析了Ceilometer的数据采集机制,包括计量数据采集、计量数据转换和发布及计量数据存储,并在后续小节中介绍了Ceilometer插件的二次开发。此外,本章还介绍了Ceilometer告警功能、Ceilometer对外开放的API服务,以及Ceilometer K版本中支持的OpenStack关键组件的计量数据和新功能。结合Ceilometer的架构和功能特点,分析了Ceilometer对接外部系统的几种方式。最后,分析比较了几种OpenStack监控常用的第三方监控软件,读者可以根据自己的需要选择适合的监控软件和Ceilometer结合使用,以强化OpenStack的监控功能。更重要的是,需要根据不同的应用场景,选择不同的运维架构。如果是用于初学和一般性研究,使用OpenStack的Horizon即可;如果希望快速建立一套独立可运维的系统,选用开源运维软件作为OpenStack运维功能的补充是比较合适的;如果在运营一套大型OpenStack系统时,希望其运维功能与现有成熟的运维系统进行整合,则可以对Ceilometer和其他组件如Ironic等进行深度二次开发。