Όταν ένα τελικό σημείο μετρικών 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. Σε container, παραχωρήστε το σε αυτή τη διαδρομή από την πλευρά του container.

Το http_headers τοποθετεί το X-API-Key στο αίτημα προς το metrics.example. Μέσω κανονικής σήραγγας HTTPS CONNECT, αυτή η κεφαλίδα ταξιδεύει μέσα στο TLS του προορισμού. Ο μεσολαβητής παρέχει τη συνδεσιμότητα και πρέπει να επιτρέπει τη σήραγγα. Για δημόσια προσβάσιμο τελικό σημείο μετρικών όπου επιτρέπονται δημόσιοι μεσολαβητές, η λίστα διαμεσολαβητών HTTP παρέχει υποψηφίους για το proxy_url χωρίς λογαριασμό· κρατήστε το κλειδί API στο αίτημα προς τον προορισμό.

Το proxy_connect_header έχει άλλον προορισμό: ο μεσολαβητής λαμβάνει αυτές τις κεφαλίδες στο CONNECT. Η τοποθέτηση κλειδιού API προορισμού εκεί δεν το παραδίδει ως κεφαλίδα αιτήματος HTTPS στον διακομιστή μετρικών.

Κρατήστε το πραγματικό όνομα κεντρικού υπολογιστή και τη διαδρομή των μετρικών στη διαμόρφωση συλλογής. Το Prometheus προστατεύει επίσης τις κεφαλίδες που ορίζει το ίδιο από αυθαίρετες αντικαταστάσεις, επομένως για αυτό το κλειδί API χρησιμοποιήστε τα υποστηριζόμενα πεδία προσαρμοσμένων κεφαλίδων.

Σχετικά άρθρα