במאמר הזה מוסבר איך להגדיר את הפריסה של Google Kubernetes Engine כדי שתוכלו להשתמש בשירות המנוהל של Google Cloud ל-Prometheus כדי לאסוף מדדים מהבקשות מסוג HTTP שהאפליקציה שלכם משרתת. במאמר הזה נסביר איך:
- מגדירים את האפליקציה לייצוא מדדי HTTP בפורמט מוגדר מראש.
- מגדירים משאב PodMonitoring בשירות המנוהל ל-Prometheus כדי לאסוף את המדדים המיוצאים.
- צפייה במרכז הבקרה Application של פריסת GKE.
ההוראות האלה רלוונטיות רק אם אתם משתמשים ב אוסף מנוהל עם שירות מנוהל ל-Prometheus.
הגדרה
כדי לאסוף מהשרת HTTP מדדים שאפשר להציג במרכז הבקרה Application, צריך לייצא את המדדים הבאים כמו שמתואר:
-
http_requests_totalמסוגcounter, עם התוויותcodeו-method. -
http_request_duration_seconds_bucketמסוגhistogram, עם התוויתmethod.
דוגמה לאיסוף המדדים האלה באמצעות לקוח Prometheus Go מופיעה ב-prometheus-example-app.
כדי לוודא ששרת ה-HTTP שולח מדדים לנקודות הקצה הצפויות, מבצעים את הפעולות הבאות:
- מגדירים העברה ליציאה אחרת באמצעות הפקודה הבאה:
kubectl -n NAMESPACE_NAME port-forward deploy/HTTP_SERVER_DEPLOYMENT_NAME PROMETHEUS_PORT_NUMBER
- אפשר לגשת אל
localhost:PROMETHEUS_PORT_NUMBERבאמצעות הדפדפן או כלי השירותcurlבסשן אחר של מסוף.
הגדרה של משאב PodMonitoring
כדי לגלות יעדים, ל-Managed Service for Prometheus Operator נדרש משאב PodMonitoring שתואם לשרת ה-HTTP באותו מרחב שמות.
אפשר להשתמש בהגדרה הבאה של PodMonitoring:
apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata:
name: my-prometheus-http-app
labels:
app.kubernetes.io/name: my-prometheus-http-app
app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
endpoints:
- port: web
scheme: http
interval: 30s
path: /metrics
selector:
matchLabels:
app.kubernetes.io/name: prometheus-example-app
מוודאים שהערכים של השדות port ו-MatchLabels
תואמים לאלה של אפליקציית ה-HTTP שרוצים לעקוב אחריה.
כדי להחיל שינויים בתצורה מקובץ מקומי, מריצים את הפקודה הבאה:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
אפשר גם להשתמש ב-Terraform כדי לנהל את ההגדרות.
הצגת מדדי האפליקציה
כדי לראות את מדדי הבקשות, שיעור השגיאות וזמן האחזור מאפליקציית ה-HTTP, מבצעים את הפעולות הבאות:
-
במסוף Google Cloud , עוברים לדף Workloads:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Kubernetes Engine.
- לוחצים על פריסת עומס עבודה ברשימה. בעמודה סוג ברשימה מצוין סוג העומס.
- בדף Deployment details, לוחצים על הכרטיסייה Observability.
- בוחרים באפשרות אפליקציה בבורר מרכזי הבקרה.
מידע נוסף זמין במאמר שימוש במדדים של ביצועי האפליקציה.
פתרון בעיות
מידע על פתרון בעיות בהטמעת מדדים ב-שירות מנוהל ל-Prometheus זמין במאמר בעיות באיסוף מ-exporters שבקטע פתרון בעיות בצד ההטמעה.