Prometheus: postavljanje API ključa cilja pomoću http_headers i proxy_url
Kombinirajte http_headers pri scrape-u sa proxy_url i držite API zaglavlja izvornog servera odvojeno od CONNECT zaglavlja koja se šalju posredniku.
Kada HTTPS krajnja tačka metrike zahteva API ključ, a Prometheus mora da koristi unapredni proksi, postavite zaglavlje na sam zahtev 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 obezbedite na toj putanji sa strane kontejnera.
http_headers stavlja X-API-Key na zahtev prema metrics.example. Kroz uobičajeni HTTPS CONNECT tunel to zaglavlje putuje unutar TLS-a odredišta. Posrednik obezbeđuje povezanost i mora da dozvoli tunel. Za javno dostupnu krajnju tačku metrike gde su javni posrednici dozvoljeni, lista HTTP proksija nudi kandidate za proxy_url bez naloga; zadržite API ključ na zahtevu prema odredištu.
proxy_connect_header ima drugo odredište: posrednik prima ta zaglavlja pri CONNECT-u. Stavljanje API ključa cilja tamo ga ne dostavlja serveru metrike kao zaglavlje HTTPS zahteva.
Zadržite stvarno ime hosta i putanju metrike u konfiguraciji scrape-a. Prometheus takođe štiti zaglavlja koja sam postavlja od proizvoljnog prepisivanja, pa za ovaj API ključ koristite podržana polja prilagođenih zaglavlja.