Prometheus: tikslinio API rakto nustatymas naudojant http_headers ir proxy_url
Sujunkite scrape http_headers su proxy_url ir laikykite šaltinio serverio API antraštes atskirai nuo CONNECT antraščių, siunčiamų tarpininkui.
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.