Ceilometer Compute Agent运行在与nova-compute服务相同的节点上,用来从Hypervisor中通过Compute Pollster获取相关的测量值。为了对不同的Hypervisor进行支持,Ceilometer抽象出Compute Agent Inspector这层接口,使Compute Pollster对不同的下层Hypervisor有了统一的调用接口,即用户可以通过开发Inspector插件来支持自己所需要的Hypervisor。
Compute Agent Inspector插件的实现需要继承并实现ceilometer.compute.virt.inspector.Inspector类,其中,需要实现的接口及说明如表5-7所示。
表5-7 需要实现的接口及说明
Compute Agent Inspector插件需要被注册在ceilometer.compute.virt的NameSpace下,用户通过配置文件中的hypervisor_inspector配置项指定所需要采集的Inspector,该配置项的合法值是ceilometer.compute.virt中定义的插件的注册名。目前,Kilo版本中已有的Inspector插件如下:
ceilometer.compute.virt = libvirt = ceilometer.compute.virt.libvirt.inspector:LibvirtInspector hyperv = ceilometer.compute.virt.hyperv.inspector:HyperVInspector vsphere = ceilometer.compute.virt.vmware.inspector:VsphereInspector xenapi = ceilometer.compute.virt.xenapi.inspector:XenapiInspector
Compute Agent默认采用libvirt Inspector插件方式(default='libvirt'),相应的Pollster通过调用libvirt API采集数据。