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.

Relaterte artikler