Kun HTTPS-mittareiden päätepiste vaatii API-avaimen ja Prometheuksen on käytettävä edestäpäin välityspalvelinta, aseta otsake itse scrape-pyyntöön. Prometheus-versiolle, joka tukee http_headersia:

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']

Tiedosto sisältää aiottuun kohteeseen tarkoitetun API-avaimen, ja sen on oltava luettavissa Prometheuksen suoritusympäristössä. Säilössä se on tarjottava juuri tuolla säilönpuoleisella polulla.

http_headers asettaa X-API-Key-otsakkeen metrics.exampleiin kohdistuvaan pyyntöön. Tavallisen HTTPS CONNECT -tunnelin kautta otsake kulkee kohteen TLS:n sisällä. Välittäjä tarjoaa yhteyden ja sen on sallittava tunneli. Julkisesti saavutettavalle mittareiden päätepisteelle, jossa julkiset välittäjät ovat sallittuja, HTTP-välityspalvelinluettelo tarjoaa ehdokkaita tilittömälle proxy_urlille; pidä API-avain kohdepyynnössä.

proxy_connect_headerilla on toinen kohde: välittäjä vastaanottaa nämä otsakkeet CONNECTissa. Kohde-API-avaimen sijoittaminen sinne ei toimita sitä mittaripalvelimelle HTTPS-pyynnön otsakkeena.

Pidä todellinen mittareiden isäntänimi ja polku scrape-määrityksessä. Prometheus suojaa myös itse asettamiaan otsakkeita mielivaltaisilta ylikirjoituksilta, joten käytä tälle API-avaimelle tuettuja mukautettujen otsakkeiden kenttiä.

Aiheeseen liittyvät artikkelit