[ceilometer][cinder] How to properly set up Block Storage meters / cinder-volume-usage-audit
Christian Rohmann
christian.rohmann at inovex.de
Wed Jun 21 13:02:56 UTC 2023
Hello OpenStack-Discuss,
when setting up telemetry (ceilometer, gnocci, aodh) I followed the
documentation at
https://docs.openstack.org/ceilometer/latest/install/cinder/install-cinder-ubuntu.html
to set up sending metrics for cinder to ceilomter.
1) The instruction to run cinder-volume-usage-audit as a timer / cron
every 5 minutes
> */5 * * * * /path/to/cinder-volume-usage-audit --send_actions
has me confused. This would cause the usage data for the last full
month, to be sent to the notifications queue every 5 minutes.
There is no progress tracker or pointer limiting this to only sent data
that has not yet been sent.
Looking at how openstack-ansible configures this
(https://github.com/openstack/openstack-ansible-os_cinder/blob/1af3003e163e09f917dd124ae874f1bea6fe2c6b/tasks/main.yml#L147)
it seems they were aware that running this without bounds and every 5
minutes is wrong.
I also opened a bug (https://bugs.launchpad.net/ceilometer/+bug/2024475)
about this.
2) Extending on 1) I believe setting the
> volume_usage_audit_period
in the cinder configuration, to e.g. month or hour, will already set the
interval for which the data is emitted. Then the important thing is to only
run cinder-volume-usage-audit in the same frequency.
3) Looking at the "--send_actions" options, I am wondering if the
"create/delete" actions for volumes, snapshosts and backups are not sent
by cinder anyways and why they would need to be sent again in batch and
by cinder-volume-usage-audit? I am referring to
> [oslo_messaging_notifications]
> driver = messagingv2
>
being enabled. This might also be the reasoning behind this bug,
https://bugs.launchpad.net/openstack-ansible/+bug/1968734, asking for
this parameter to be behind a config switch to avoid duplicate actions
to be sent.
4) Thinking about the whole setup more questions arise
* What happens when I run this more than once in the same interval? What
will ceilometer do with the (redundant) data?
* I am also wondering how well this single piece of software scales and
how this could be split up more?
* Is there no way to implement a pointer to allow running this command
more often and only send "new data"? Just like the timestamp up to which
data was sent.
* What about any locking / coordination to enable multiple instances?
Regards
Christian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.openstack.org/pipermail/openstack-discuss/attachments/20230621/4a735abe/attachment.htm>
More information about the openstack-discuss
mailing list