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 выкарыстоўвайце падтрыманыя палі ўласных загалоўкаў.