Open maxheyer opened 2 months ago
The rbd volume size is accessible via the Ceph go bindings but I haven't seen a direct call to get the used bytes.
Looking at Ceph's rbd du
cli command code there seems to be more done than just a "single API call." I have to see if it is possible to easily "copy"/call the code in/from Go.
Additionally I haven't found any field that mentions the namespace nor tenant in the volume/image info returned by the Ceph go bindings GetImage
call.
Does the namespace/tenant show up in the rbd info VOLUME_NAME
command output? If so, please post the output here so I can see where that info might come from, thanks!
You must add the namespace information to all rbd commands, just as you do for the pool::
rbd du --pool POOL_NAME --namespace NAMESPACE
rbd info VOLUME_NAME --pool POOL_NAME -namespace NAMESPACE
rbd image 'IMAGE_NAME':
size 8 GiB in 2048 objects
order 22 (4 MiB objects)
snapshot_count: 0
id: IMAGE_ID
block_name_prefix: rbd_data.PREFIX
format: 2
features: layering
op_features:
flags:
create_timestamp: Sun Dec 17 02:48:55 2023
access_timestamp: Sun Dec 17 02:48:55 2023
modify_timestamp: Sun Dec 17 02:48:55 2023
I see, so I'll probably end up doing something similar for the rbd
"module" as with RGW multi realm.
Hi,
as we have already discussed, the exporter should support multi-tenancy for rgw buckets and rbd usage.
I suggest the following changes:
rgw_buckets
should contain a tenant if it existsnew metrics:
rbd_size_provisioned_bytes(pool="", namespace="", image="") 0
rbd_size_used_bytes(pool="", namespace="", image="") 0
rbd
command