-
Epic
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
export prometheus metrics in computes
-
24
-
False
-
-
False
-
Not Selected
-
Proposed
-
Proposed
-
To Do
-
Proposed
-
Proposed
-
17% To Do, 33% In Progress, 50% Done
-
Proposed
-
-
Currently, all the ceilometer-compute agents are sending their metrics to RabbitMQ in the control plane. There, they are picked up by a single instance of ceilometer-notification-agent which sends them via TCP to sg-core. From that single sg-core instance, Prometheus retrieves the Ceilometer (mostly libvirt) metrics from every compute.
This has scalability problems, as the more computes the client will have, the more metrics will the combo ceilometer-notification/sg-core will have to read and expose. This can hold potentially hundreds of thousands of metrics.
To avoid this issue, we propose modifying ceilometer-compute-agent to expose directly the metrics as a Prometheus endpoint by itself. That metrics endpoint will be scraped by prometheus.
Prometheus is already scraping one endpoint per compute node as it scrapes the node_exporter metrics, this will be adding one endpoint per compute node more.
The combo ceilometer-central-agent/ceilometer-notification-agent/sg-core that is currently running in the control plane and using RabbitMQ to communicate will stay unmodified, but it will only expose control plane metrics.