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 キーにはサポートされているカスタムヘッダーフィールドを使用します。

関連記事