เมื่อปลายทางเมตริก 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 นี้ให้ใช้ฟิลด์ส่วนหัวแบบกำหนดเองที่รองรับ

บทความที่เกี่ยวข้อง