Prometheus: ตั้งค่าคีย์ API ของเป้าหมายด้วย http_headers และ proxy_url
รวม http_headers ของการเก็บข้อมูลกับ proxy_url และแยกส่วนหัว API ของเซิร์ฟเวอร์ต้นทางออกจากส่วนหัว CONNECT ที่ส่งไปยังตัวกลาง
เมื่อปลายทางเมตริก 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 นี้ให้ใช้ฟิลด์ส่วนหัวแบบกำหนดเองที่รองรับ