HTTP Service Discovery for Prometheus
Proposers
- Eduardo Sousa (Canonical)
- David Garcia (Canonical)
- Guillermo Calviño (Canonical)
- Mark Beierl (Canonical)
Description
+------------+ Register +-----------+ Read +------------+
| | Targets | HTTP | Targets | |
| LCM | ----------> | Service | <---------- | Prometheus |
| | HTTP(S) | Discovery | HTTP(S) | |
+------------+ +-----------+ +------------+
|
| Persistence
|
V
+-----------+
| |
| MySQL |
| |
+-----------+
Prometheus is capable of dynamically loading targets to scrape using a myriad of technologies. For this purpose, one of them is HTTP REST and this proposal suggests creating a HTTP Service Discovery component, where LCM can register targets through HTTP REST and one or more Prometheus can read from it to dynamically load targets to scrape.
Demo or definition of done
The following tasks should be completed:
- HTTP Service Discovery component (code + Dockerfile + deployment artifacts)
- LCM code to register targets in the HTTP Service Discovery component
- Prometheus configuration to use HTTP Service Discovery (deployment artifacts)
The work is considered done when creating a SNMP exporter, LCM registers the target and Prometheus gets the exporter's information through the HTTP Service Discovery component.
Edited by sousaedu