Kai HTTPS metrikų galinis taškas reikalauja API rakto, o Prometheus turi naudoti tiesioginį tarpinį serverį, nustatykite antraštę pačioje scrape užklausoje. Prometheus versijai, palaikančiai 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']

Faile yra numatytas tikslinis API raktas, ir jis turi būti perskaitomas Prometheus vykdymo aplinkoje. Konteineryje pateikite jį šiame konteinerio pusėje esančiame kelyje.

http_headers prideda X-API-Key prie užklausos į metrics.example. Per įprastą HTTPS CONNECT tunelį ši antraštė keliauja paskirties TLS viduje. Tarpininkas užtikrina ryšį ir turi leisti tunelį. Viešai pasiekiamam metrikų galiniam taškui, kai leidžiami vieši tarpininkai, HTTP tarpinių serverių sąrašas siūlo kandidatus proxy_url be paskyros; API raktą palikite paskirties užklausoje.

proxy_connect_header turi kitą paskirtį: tarpininkas šias antraštes gauna per CONNECT. Tikslinio API rakto įdėjimas ten neperduoda jo metrikų serveriui kaip HTTPS užklausos antraštės.

Faktinį metrikų serverio vardą ir kelią palikite scrape konfigūracijoje. Prometheus taip pat saugo savo pačių nustatomas antraštes nuo savavališko perrašymo, todėl šiam API raktui naudokite palaikomus pasirinktinių antraščių laukus.

Susiję straipsniai