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