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

Подобни статии