När en HTTPS-mätpunkt kräver en API-nyckel och Prometheus måste använda en vidarebefordrande proxy, ställs huvudet in på själva scrape-begäran. För en Prometheus-version som stöder 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 innehåller den avsedda mål-API-nyckeln och måste vara läsbar i Prometheus körningsmiljö. I en container måste den finnas på den containerinterna sökvägen.

http_headers sätter X-API-Key på begäran till metrics.example. Genom en vanlig HTTPS CONNECT-tunnel färdas huvudet inuti destinationens TLS. Mellanhanden tillhandahåller anslutningen och måste tillåta tunneln. För en offentligt nåbar mätpunkt där offentliga mellanhänder är tillåtna ger HTTP-proxylistan kandidater för proxy_url utan konto; behåll API-nyckeln på begäran till destinationen.

proxy_connect_header har en annan destination: mellanhanden tar emot dessa huvuden vid CONNECT. Att placera en mål-API-nyckel där levererar den inte som HTTPS-begäranshuvud till mätservern.

Behåll det faktiska värdnamnet och sökvägen för mätvärdena i scrape-konfigurationen. Prometheus skyddar också de huvuden som det sätter själv mot godtyckliga överskrivningar, så använd de stödda fälten för anpassade huvuden för den här API-nyckeln.

Relaterade artiklar