Cando un punto final de métricas HTTPS require unha clave API e Prometheus debe usar un proxy de saída, configura a cabeceira na propia solicitude de scrape. Para unha versión de Prometheus compatible con 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']

O ficheiro contén a clave API de destino prevista e debe ser lexible na contorna de execución de Prometheus. Nun contedor, proporciónaa nesa ruta do lado do contedor.

http_headers coloca X-API-Key na solicitude cara a metrics.example. A través dun túnel HTTPS CONNECT normal, esa cabeceira viaxa dentro do TLS do destino. O intermediario proporciona conectividade e debe permitir o túnel. Para un punto final de métricas accesible publicamente onde se permiten intermediarios públicos, a lista de proxies HTTP ofrece candidatos para proxy_url sen conta; mantén a clave API na solicitude de destino.

proxy_connect_header ten outro destino: o intermediario recibe esas cabeceiras no CONNECT. Poñer unha clave API de destino alí non a entrega como cabeceira de solicitude HTTPS ao servidor de métricas.

Mantén o nome de host e a ruta reais das métricas na configuración de scrape. Prometheus tamén protexe as cabeceiras que establece por si mesmo fronte a substitucións arbitrarias, así que para esta clave API usa os campos de cabeceira personalizada admitidos.

Artigos relacionados