Khi một điểm cuối số liệu HTTPS yêu cầu khóa API và Prometheus phải dùng proxy chuyển tiếp, hãy đặt tiêu đề ngay trên chính yêu cầu thu thập. Với phiên bản Prometheus hỗ trợ 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']

Tệp chứa khóa API đích dự định và phải đọc được trong môi trường thực thi của Prometheus. Trong vùng chứa, hãy cung cấp nó tại đường dẫn phía vùng chứa đó.

http_headers đặt X-API-Key trên yêu cầu tới metrics.example. Qua một đường hầm HTTPS CONNECT thông thường, tiêu đề đó đi bên trong TLS của đích. Trung gian cung cấp kết nối và phải cho phép đường hầm. Với điểm cuối số liệu truy cập công khai nơi các trung gian công cộng được phép, danh sách proxy HTTP cung cấp ứng viên cho proxy_url không cần tài khoản; giữ khóa API trên yêu cầu tới đích.

proxy_connect_header có đích khác: trung gian nhận các tiêu đề đó khi CONNECT. Đặt khóa API đích ở đó không chuyển nó tới máy chủ số liệu như một tiêu đề yêu cầu HTTPS.

Giữ tên máy chủ và đường dẫn số liệu thực tế trong cấu hình thu thập. Prometheus cũng bảo vệ các tiêu đề do nó tự đặt khỏi bị ghi đè tùy tiện, vì vậy với khóa API này hãy dùng các trường tiêu đề tùy chỉnh được hỗ trợ.

Bài viết liên quan