Prometheus: angi en mål-API-nøkkel med http_headers og proxy_url
Slå sammen http_headers fra skraping med proxy_url, og hold API-headerne til kildeserveren atskilt fra CONNECT-headerne som sendes til mellomleddet.
Når et HTTPS-endepunkt for målinger krever en API-nøkkel og Prometheus må bruke en videresendingsproxy, angis headeren på selve skrapeforespørselen. For en Prometheus-versjon med støtte for 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 API-nøkkelen for målet og må kunne leses i Prometheus' kjøremiljø. I en beholder må den ligge på den beholderinterne stien.
http_headers legger X-API-Key på forespørselen til metrics.example. Gjennom en vanlig HTTPS CONNECT-tunnel går headeren inne i destinasjonens TLS. Mellomleddet sørger for tilkoblingen og må tillate tunnelen. For et offentlig tilgjengelig endepunkt for målinger der offentlige mellomledd er tillatt, gir HTTP-proxyoversikten kandidater for proxy_url uten konto; behold API-nøkkelen på forespørselen til destinasjonen.
proxy_connect_header har en annen destinasjon: mellomleddet mottar disse headerne ved CONNECT. Å legge en mål-API-nøkkel der gir den ikke videre som HTTPS-forespørselsheader til målserveren.
Behold det faktiske vertsnavnet og stien for målingene 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.