[Openstack] [ceilometer] How to retrieve meters from rbd resources

Eugen Block eblock at nde.ag
Wed Jun 29 14:30:11 UTC 2016


Hi all,

I have a Mitaka environment where glance, nova and cinder use ceph  
(rbd) as storage backend, that works perfectly fine. Now I'm trying to  
get meters from my rbd pool with ceilometer, but libvirt fails to read  
information, the ceilometer-polling.log says

---cut here---
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk  
[req-823d46da-5a23-45bd-a0e9-596e7d4a9fc3 admin - - - -] Ignoring  
instance instance-000002d7 (51d7bfdc-feec-4f13-ad0c-190dcfa2c62d) :  
this function is not supported by the connection driver:  
virDomainGetBlockInfo
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk  
Traceback (most recent call last):
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk   
  File  
"/usr/lib/python2.7/site-packages/ceilometer/compute/pollsters/disk.py", line  
625, in get_samples
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk   
    instance,
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk   
  File  
"/usr/lib/python2.7/site-packages/ceilometer/compute/pollsters/disk.py", line  
567, in _populate_cache
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk   
    for disk, info in disk_info:
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk   
  File  
"/usr/lib/python2.7/site-packages/ceilometer/compute/virt/libvirt/inspector.py", line 215, in  
inspect_disk_info
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk   
    block_info = domain.blockInfo(device)
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk   
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 690, in  
blockInfo
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk   
    if ret is None: raise libvirtError ('virDomainGetBlockInfo()  
failed', dom=self)
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk  
libvirtError: this function is not supported by the connection driver:  
virDomainGetBlockInfo
2016-06-29 15:45:19.711 29483 ERROR ceilometer.compute.pollsters.disk
---cut here---

This bug [1] describes the issue, but it seems to be a libvirt issue,  
not ceilometer.

According to [2] it should be possible to retrieve those meters.
I followed ceph docs to install the rados-gateway, I integrated  
keystone authentication, at least I don't get any errors regarding  
authentication and swift command seems to work.
Then I added the meters described in [2] to the /etc/ceilometer/pipeline.yaml

---cut here---
control1:~ # cat /etc/ceilometer/pipeline.yaml
---
sources:
[...]
     - name: radosgw_source
       interval: 600
       meters:
           - "radosgw.objects"
           - "radosgw.objects.size"
           - "radosgw.objects.containers"
           - "radosgw.api.request"
           - "radosgw.containers.objects"
           - "radosgw.containers.objects.size"
       sinks:
           - meter_sink
[...]
---cut here---

I believe I have completed all required steps, but I still get the  
libvirt errors in ceilometer (both kvm and xen hypervisor).
Now I'm starting to wonder if rados-gw really is the right choice  
here. Has anybody figured out a way to retrieve rbd meters with  
ceilometer?

Regards,
Eugen

[1] https://bugs.launchpad.net/ceilometer/+bug/1457440
[2]  
http://docs.openstack.org/admin-guide/telemetry-measurements.html#ceph-object-storage


-- 
Eugen Block                             voice   : +49-40-559 51 75
NDE Netzdesign und -entwicklung AG      fax     : +49-40-559 51 77
Postfach 61 03 15
D-22423 Hamburg                         e-mail  : eblock at nde.ag

         Vorsitzende des Aufsichtsrates: Angelika Mozdzen
           Sitz und Registergericht: Hamburg, HRB 90934
                   Vorstand: Jens-U. Mozdzen
                    USt-IdNr. DE 814 013 983





More information about the Openstack mailing list