Prometheus: postavljanje API ključa cilja pomoću http_headers i proxy_url
Kombinrajte http_headers za scrape s proxy_url i držite API zaglavlja izvornog servera odvojeno od CONNECT zaglavlja poslanih posredniku.
Kada HTTPS krajnja tačka metrike zahtijeva API ključ, a Prometheus mora koristiti proksi prema naprijed, postavite zaglavlje na sam zahtjev za scrape. Za verziju Prometheusa koja podržava http_headers:
scrape_configs:
- job_name: secured_metrics
scheme: https
metrics_path: /metrics
proxy_url: http://proxy.example:8080
http_headers:
X-API-Key:
files:
- /etc/prometheus/secrets/metrics-api-key
static_configs:
- targets: ['metrics.example:443']
Datoteka sadrži predviđeni API ključ cilja i mora biti čitljiva u okruženju izvršavanja Prometheusa. U kontejneru je obezbijedite na toj putanji s kontejnerske strane.
http_headers stavlja X-API-Key na zahtjev prema metrics.example. Kroz normalan HTTPS CONNECT tunel to zaglavlje putuje unutar TLS-a odredišta. Posrednik obezbjeđuje povezanost i mora dopustiti tunel. Za javno dostupnu krajnju tačku metrike gdje su javni posrednici dopušteni, lista HTTP proksija daje kandidate za proxy_url bez računa; zadržite API ključ na zahtjevu prema odredištu.
proxy_connect_header ima drugo odredište: posrednik prima ta zaglavlja pri CONNECT-u. Stavljanje API ključa cilja tamo ne dostavlja ga serveru metrike kao zaglavlje HTTPS zahtjeva.
Zadržite stvarno ime hosta i putanju metrike u konfiguraciji scrapea. Prometheus također štiti zaglavlja koja sam postavlja od proizvoljnog prepisivanja, pa za ovaj API ključ koristite podržana polja za prilagođena zaglavlja.