Add support for instance metrics to prometheus datasource
In order to support vm_workload_consolidation, workload_balance and workload_stabilization strategis some instance metrics are required. This patch is adding support for them. Implementation is based on a prometheus store populated using sg-core from ceilometer metrics with Pollster source. - instance_ram_usage: rely on ceilometer_memory_usage metrics created from ceilometer memory.usage meter. - instance_ram_allocated: rely on the memory value provided by the inventory created from nova and placement APIs. - instance_cpu_usage: rely on ceilometer_cpu metric created from ceilometer cpu meter. A max value of 100 is set in the query. - instance_root_disk_size: rely on the `disk` value provided by the inventory created from nova and placement APIs. A new parameterer `instance_uuid_label` has been added to the prometheus datasource configuration to identify the label used to store the value of the OpenStack instance uuid for eache instance metric in prometheus. Default value is `resource`. Change-Id: I2f2b56aa002014e511a5e48398ef1da43fc4f5e2
This commit is contained in:
@@ -43,6 +43,12 @@ An example ``fqdn_instance_map`` is the following:
|
||||
'tria.controlplane.domain': '10.1.2.3:9100'
|
||||
}
|
||||
|
||||
For instance metrics, it is required that Prometheus contains a label
|
||||
with the uuid of the OpenStack instance in each relevant metric. By default,
|
||||
the datasource will look for the label ``resource``. The
|
||||
``instance_uuid_label`` config option in watcher.conf allows deployers to
|
||||
override this default to any other label name that stores the ``uuid``.
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
The current implementation doesn't support the ``statistic_series`` function of
|
||||
@@ -89,6 +95,10 @@ duplicated below from the code as they are self documenting:
|
||||
default="fqdn",
|
||||
help="The label that Prometheus uses to store the fqdn of "
|
||||
"exporters. Defaults to 'fqdn'."),
|
||||
cfg.StrOpt('instance_uuid_label',
|
||||
default="resource",
|
||||
help="The label that Prometheus uses to store the uuid of "
|
||||
"OpenStack instances. Defaults to 'resource'."),
|
||||
cfg.StrOpt('username',
|
||||
help="The basic_auth username to use to authenticate with the "
|
||||
"Prometheus server."),
|
||||
|
||||
Reference in New Issue
Block a user