Prometheus: sett en mål-API-nøkkel med http_headers og proxy_url
Kombiner http_headers for skraping med proxy_url, og hold API-headerne til kildeserveren adskilt fra CONNECT-headerne som sendes til mellomleddet.
Når et HTTPS-målepunkt krever en API-nøkkel og Prometheus må bruke en videresendt proxy, settes headeren på selve skrapeforespørselen. For en Prometheus-versjon som støtter 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']
Filen inneholder den tiltenkte mål-API-nøkkelen og må være lesbar i Prometheus' kjøremiljø. I en container må den være tilgjengelig på den containerinterne stien.
http_headers setter X-API-Key på forespørselen til metrics.example. Gjennom en vanlig HTTPS CONNECT-tunnel reiser headeren inne i destinasjonens TLS. Mellomleddet leverer tilkoblingen og må tillate tunnelen. For et offentlig tilgjengelig målepunkt der offentlige mellomledd er tillatt, gir HTTP-proxy-listen kandidater for proxy_url uten konto; hold API-nøkkelen på forespørselen til destinasjonen.
proxy_connect_header har en annen destinasjon: mellomleddet mottar disse headerne ved CONNECT. Å plassere en mål-API-nøkkel der leverer den ikke som HTTPS-forespørselsheader til måleserveren.
Hold det faktiske vertsnavnet og stien for målepunktet i skrapekonfigurasjonen. Prometheus beskytter også headerne det setter selv mot vilkårlige overstyringer, så bruk de støttede feltene for egendefinerte headere for denne API-nøkkelen.