Prometheus: pagtatakda ng target na API key gamit ang http_headers at proxy_url
Pagsamahin ang http_headers ng scrape sa proxy_url at ihiwalay ang mga API header ng source server sa mga CONNECT header na ipinapadala sa tagapamagitan.
Kapag ang isang HTTPS metrics endpoint ay nangangailangan ng API key at kailangang gumamit ang Prometheus ng forward proxy, itakda ang header sa mismong kahilingan sa scrape. Para sa bersyon ng Prometheus na sumusuporta sa 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']
Naglalaman ang file ng inilaan na target na API key at dapat mabasa ito sa kapaligiran ng pagpapatupad ng Prometheus. Sa isang container, ilaan ito sa path na iyon sa gilid ng container.
Inilalagay ng http_headers ang X-API-Key sa kahilingan patungo sa metrics.example. Sa pamamagitan ng karaniwang HTTPS CONNECT tunnel, naglalakbay ang header na iyon sa loob ng TLS ng destinasyon. Nagbibigay ang tagapamagitan ng konektibidad at dapat nitong payagan ang tunnel. Para sa pampublikong naaabot na metrics endpoint kung saan pinapayagan ang mga pampublikong tagapamagitan, nag-aalok ang listahan ng HTTP proxy ng mga kandidato para sa proxy_url na walang account; panatilihin ang API key sa kahilingan sa destinasyon.
May ibang destinasyon ang proxy_connect_header: natatanggap ng tagapamagitan ang mga header na iyon sa CONNECT. Ang paglalagay ng target na API key doon ay hindi ito naghahatid sa metrics server bilang HTTPS request header.
Panatilihin ang aktwal na hostname at path ng metrics sa configuration ng scrape. Pinoprotektahan din ng Prometheus ang mga header na itinatakda nito mismo mula sa arbitraryong pag-override, kaya para sa API key na ito gamitin ang mga sinusuportahang field ng custom na header.