במאמר הזה מוסבר איך להגדיר את הפריסה שלכם ב-Google Kubernetes Engine כדי שתוכלו להשתמש בשירות המנוהל של Google Cloud ל-Prometheus כדי לאסוף מדדים מ-Apache Flink. במאמר הזה מוסבר איך:
- מגדירים את Flink לדיווח על מדדים.
- אפשר לגשת למרכז בקרה מוגדר מראש ב-Cloud Monitoring כדי לראות את המדדים.
- הגדרת כללי התראה למעקב אחר המדדים.
ההוראות האלה רלוונטיות רק אם אתם משתמשים ב אוסף מנוהל עם שירות מנוהל ל-Prometheus. אם אתם משתמשים באיסוף שמוטמע באופן עצמאי, תוכלו לעיין במסמכי התיעוד של Flink כדי לקבל מידע על ההתקנה.
ההוראות האלה הן דוגמה, והן צפויות לפעול ברוב סביבות Kubernetes. אם נתקלתם בבעיה בהתקנת אפליקציה או כלי לייצוא בגלל מדיניות אבטחה או מדיניות ארגונית מגבילה, מומלץ לעיין במסמכי קוד פתוח לקבלת תמיכה.
מידע על Apache Flink זמין במאמר Apache Flink.
דרישות מוקדמות
כדי לאסוף מדדים מ-Flink exporter באמצעות שירות מנוהל ל-Prometheus ואיסוף מנוהל, הפריסה צריכה לעמוד בדרישות הבאות:
- האשכול צריך להריץ את Google Kubernetes Engine בגרסה 1.28.15-gke.2475000 ואילך.
- צריך להפעיל את השירות המנוהל ל-Prometheus עם איסוף מנוהל. מידע נוסף זמין במאמר תחילת העבודה עם אוסף מנוהל.
- כדי להשתמש בלוחות הבקרה שזמינים ב-Cloud Monitoring לשילוב של Flink, צריך להשתמש בגרסה
flink1.17 ואילך.מידע נוסף על לוחות בקרה זמינים מופיע במאמר הצגת לוחות בקרה.
metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory.
אם פרסתם את Flink באמצעות מניפסטים רשמיים של תחילת העבודה, מוסיפים את האפשרות החדשה הזו ל-ConfigMap:
apiVersion: v1
kind: ConfigMap
metadata:
name: flink-config
labels:
app: flink
data:
flink-conf.yaml: |+
...
+ metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
אם פרסתם את Flink באמצעות האופרטור הרשמי,
מוסיפים את האפשרות החדשה הזו לשדה spec.flinkConfiguration של FlinkDeployment:
apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
metadata:
name: basic-example
spec:
image: flink:1.17
flinkVersion: v1_17
flinkConfiguration:
taskmanager.numberOfTaskSlots: "2"
+ metrics.reporter.prom.factory.class: org.apache.flink.metrics.prometheus.PrometheusReporterFactory
אפשר גם לציין את כלי הדיווח של Prometheus כאפשרות ברירת מחדל בהגדרות של Flink operator.
כדי לוודא שהכלי לייצוא נתונים מ-Flink שולח מדדים לנקודות הקצה הצפויות:
מגדירים העברה ליציאה אחרת באמצעות הפקודה הבאה:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 9249
אפשר לגשת לנקודת הקצה
localhost:9249/metricsבאמצעות הדפדפן או באמצעות כלי השירותcurlבסשן טרמינל אחר.
הגדרה של משאב PodMonitoring
לצורך איתור יעדים, ל-Managed Service for Prometheus Operator נדרש משאב PodMonitoring שתואם ל-Flink exporter באותו מרחב שמות.
אפשר להשתמש בהגדרה הבאה של PodMonitoring:
מוודאים שהערכים בשדותport ו-matchLabels תואמים לערכים של ה-pods של Flink שרוצים לעקוב אחריהם.
Flink חושף מדדים ביציאה 9249 כברירת מחדל כשהמדדים מופעלים.
כדי להחיל שינויים בתצורה מקובץ מקומי, מריצים את הפקודה הבאה:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
אפשר גם להשתמש ב-Terraform כדי לנהל את ההגדרות.
הגדרת כללים והתראות
אפשר להשתמש בהגדרות Rules הבאות כדי להגדיר התראות על מדדי Flink:
כדי להחיל שינויים בתצורה מקובץ מקומי, מריצים את הפקודה הבאה:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
אפשר גם להשתמש ב-Terraform כדי לנהל את ההגדרות.
מידע נוסף על החלת כללים על האשכול זמין במאמר הערכה והתראות של כללים מנוהלים.
אפשר לשנות את ערכי הסף של ההתראות בהתאם לאפליקציה.אימות ההגדרה
אתם יכולים להשתמש ב-Metrics Explorer כדי לוודא שהגדרתם את Flink exporter בצורה נכונה. יכול להיות שיחלפו דקה או שתיים עד שמערכת Cloud Monitoring תעבד את המדדים.
כדי לוודא שהמדדים נאספים, מבצעים את הפעולות הבאות:
-
נכנסים לדף leaderboard Metrics explorer במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
- בסרגל הכלים של החלונית ליצירת שאילתות, לוחצים על הלחצן ששמו code PromQL.
- מזינים ומריצים את השאילתה הבאה:
up{job="flink", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
צפייה במרכזי הבקרה
השילוב של Cloud Monitoring כולל לוחות בקרה של Prometheus. לוחות הבקרה מותקנים באופן אוטומטי כשמגדירים את השילוב. אפשר גם לראות תצוגות מקדימות סטטיות של מרכזי בקרה בלי להתקין את האינטגרציה.
כדי לראות מרכז בקרה שהותקן:
-
במסוף Google Cloud , עוברים לדף Dashboards:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
- לוחצים על הכרטיסייה רשימת מרכזי בקרה.
- בוחרים בקטגוריה שילובים.
- לוחצים על השם של מרכז הבקרה שרוצים להציג.
כדי לראות תצוגה מקדימה סטטית של מרכז הבקרה:
-
נכנסים לדף
Integrations במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
- לוחצים על המסנן Kubernetes Engine של פלטפורמת הפריסה.
- מאתרים את השילוב של Apache Flink ולוחצים על הצגת פרטים.
- לוחצים על הכרטיסייה מרכזי בקרה.
פתרון בעיות
מידע על פתרון בעיות בהוספת מדדים זמין במאמר פתרון בעיות שקשורות להוספה בקטע בעיות באיסוף נתונים ממייצאים.