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 זה.