Prometheus: definir unha clave API de destino con http_headers e proxy_url
Combina http_headers do scrape con proxy_url e mantén as cabeceiras API do servidor de orixe separadas das cabeceiras CONNECT enviadas ao intermediario.
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.