HTTPS 메트릭 엔드포인트가 API 키를 요구하고 Prometheus가 포워드 프록시를 사용해야 한다면, 헤더를 스크레이프 요청 자체에 설정합니다. http_headers를 지원하는 Prometheus 버전에서는 다음과 같이 구성합니다.

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는 metrics.example로 가는 요청에 X-API-Key를 붙입니다. 일반적인 HTTPS CONNECT 터널에서는 그 헤더가 대상의 TLS 안쪽으로 이동합니다. 중개자는 연결을 제공하며 터널을 허용해야 합니다. 공용 중개자가 허용되는 공개 메트릭 엔드포인트라면 HTTP 프록시 목록이 계정 없는 proxy_url 후보를 제공합니다. API 키는 대상 요청 쪽에 두십시오.

proxy_connect_header의 목적지는 다릅니다. 중개자는 CONNECT 시점에 그 헤더를 받습니다. 대상 API 키를 그곳에 두면 메트릭 서버로 가는 HTTPS 요청 헤더로 전달되지 않습니다.

실제 메트릭 호스트 이름과 경로는 스크레이프 구성에 유지하십시오. Prometheus는 자체적으로 설정하는 헤더도 임의 덮어쓰기로부터 보호하므로, 이 API 키에는 지원되는 사용자 지정 헤더 필드를 사용하십시오.

관련 글