Prometheus: постављање API кључа циља помоћу http_headers и proxy_url
Комбинујте http_headers при прикупљању са proxy_url и држите API заглавља изворног сервера одвојено од CONNECT заглавља која се шаљу посреднику.
Када HTTPS крајња тачка метрике захтева API кључ, а Prometheus мора да користи напредни прокси, поставите заглавље на самом захтеву за прикупљање. За верзију Prometheus-а која подржава 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']
Датотека садржи предвиђени API кључ циља и мора бити читљива у окружењу извршавања Prometheus-а. У контејнеру га обезбедите на тој путањи са стране контејнера.
http_headers ставља X-API-Key на захтев према metrics.example. Кроз уобичајени HTTPS CONNECT тунел то заглавље путује унутар TLS-а одредишта. Посредник обезбеђује повезаност и мора да дозволи тунел. За јавно доступну крајњу тачку метрике где су јавни посредници дозвољени, листа HTTP проксија нуди кандидате за proxy_url без налога; задржите API кључ на захтеву према одредишту.
proxy_connect_header има друго одредиште: посредник прима та заглавља при CONNECT-у. Стављање API кључа циља тамо га не доставља серверу метрике као заглавље HTTPS захтева.
Задржите стварно име хоста и путању метрике у конфигурацији прикупљања. Prometheus такође штити заглавља која сам поставља од произвољног преписивања, зато за овај API кључ користите подржана поља прилагођених заглавља.