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 ключ използвайте поддържаните полета за собствени заглавки.