CloudKitty - Rating service guide¶
Overview¶
CloudKitty is the Openstack service used to rate your platform usage. As a rating service, CloudKitty does not provide billing services such as generating a bill to send to your customers every month.
However, it provides you the building bricks you can use to build your own billing service upon internally.
Because cloudkitty is a flexible rating service, it’s highly customizable while still offering a generic approach to the rating of your platform.
It lets you choose which metrics you want to rate, from which datasource and where to finally store the processed rate of those resources.
This document will explain how to use the different features available and that Kolla Ansible supports.
See the CloudKitty documentation for further information.
CloudKitty Collector backend¶
CloudKitty natively supports multiple collector backends.
By default Kolla Ansible uses the Gnocchi backend. Using data collected by Prometheus is also supported.
The configuration parameter related to this option is
cloudkitty_collector_backend
.
To use the Prometheus collector backend:
cloudkitty_collector_backend: prometheus
CloudKitty Fetcher Backend¶
CloudKitty natively supports multiple fetcher backends.
By default Kolla Ansible uses the keystone
backend. This can be changed
using the cloudkitty_fetcher_backend
option.
Kolla Ansible also supports the prometheus
backend type, which is
configured to discover scopes from the id
label of the
openstack_identity_project_info
metric of OpenStack exporter.
You will need to provide extra configuration for unsupported fetchers in
/etc/kolla/config/cloudkitty.conf
.
Cloudkitty Storage Backend¶
As for collectors, CloudKitty supports multiple backend to store ratings. By default, Kolla Ansible uses the InfluxDB based backend.
Another famous alternative is OpenSearch and can be activated in Kolla
Ansible using the cloudkitty_storage_backend
configuration option in
your globals.yml
configuration file:
cloudkitty_storage_backend: opensearch
Using an external Elasticsearch backend is still possible with the following configuration:
cloudkitty_storage_backend: elasticsearch
cloudkitty_elasticsearch_url: http://HOST:PORT
You can only use one backend type at a time, selecting opensearch
will automatically enable OpenSearch deployment and creation of the
required CloudKitty index.