במאמר הזה מוסבר איך להגדיר את הפריסה של Google Kubernetes Engine כדי שתוכלו להשתמש בשירות המנוהל של Google Cloud ל-Prometheus לאיסוף מדדים מ-SGLang. במאמר הזה מוסבר איך:
- מפעילים את המעקב האוטומטי אחרי האפליקציה ב-SGLang, או מגדירים את SGLang באופן ידני כדי לדווח על מדדים.
ההוראות האלה רלוונטיות רק אם אתם משתמשים ב אוסף מנוהל עם שירות מנוהל ל-Prometheus. אם אתם משתמשים באיסוף בפריסה עצמית, עיינו במסמכי התיעוד של SGLang כדי לקבל מידע על ההתקנה.
ההוראות האלה הן דוגמה, והן אמורות לפעול ברוב סביבות Kubernetes. אם אתם נתקלים בבעיות בהתקנה של אפליקציה או של כלי ייצוא בגלל מדיניות אבטחה או מדיניות ארגונית מגבילה, מומלץ לעיין במסמכי התיעוד של קוד פתוח כדי לקבל תמיכה.
מידע על SGLang זמין במאמר SGLang.
דרישות מוקדמות
כדי לאסוף מדדים מ-SGLang באמצעות השירות המנוהל ל-Prometheus ואיסוף מנוהל, הפריסה צריכה לעמוד בדרישות הבאות:
- באשכול צריכה לפעול גרסה 1.28.15-gke.2475000 או גרסה חדשה יותר של Google Kubernetes Engine.
- צריך להפעיל את השירות המנוהל ל-Prometheus עם איסוף מנוהל. מידע נוסף מופיע במאמר תחילת העבודה עם איסוף מנוהל.
--enable-metrics, הוא חושף מדדים בפורמט של Prometheus, ואין צורך להתקין כלי לייצוא נתונים בנפרד.
כדי לוודא ש-SGLang שולח מדדים לנקודות הקצה הצפויות:
- מגדירים העברה ליציאה אחרת באמצעות הפקודה הבאה:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
- נכנסים לנקודת הקצה
localhost:30000/metricsבאמצעות הדפדפן או הכליcurlבסשן אחר של הטרמינל.
שימוש במעקב אוטומטי אחרי אפליקציות
ב-SGLang אפשר להשתמש במעקב אוטומטי אחרי אפליקציות. כשמשתמשים במעקב אוטומטי אחרי אפליקציות, Google Kubernetes Engine מבצע את הפעולות הבאות:
- המערכת מזהה מקרים של פריסת עומסי עבודה של SGLang.
- פורס משאב PodMonitoring לכל מופע של עומס עבודה שזוהה.
- התקנת לוחות בקרה של Cloud Monitoring למדדים של SGLang.
כדי להשתמש במעקב אוטומטי אחרי אפליקציות, צריך להפעיל את התכונה באשכול GKE. אתם יכולים להשתמש במסוף Google Cloud , ב-Google Cloud CLI (גרסה 492.0.0 ואילך) או ב-GKE API. מידע נוסף מופיע במאמר הפעלה של מעקב אוטומטי אחרי אפליקציות.
הגדרת משאב PodMonitoring
כדי לזהות את היעד, ל-Managed Service for Prometheus Operator נדרש משאב PodMonitoring שתואם ל-SGLang באותו מרחב שמות.
אפשר להשתמש בהגדרת PodMonitoring הבאה:
apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata:
name: sglang
labels:
app.kubernetes.io/name: sglang
app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
endpoints:
- port: 30000
scheme: http
interval: 15s
path: /metrics
selector:
matchLabels:
app: sglang-server
port ו-matchLabels תואמים לערכים של תרמילי ה-SGLang שרוצים לעקוב אחריהם.
כדי להחיל שינויים בהגדרות מקובץ מקומי, מריצים את הפקודה הבאה:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
אפשר גם להשתמש ב-Terraform כדי לנהל את ההגדרות.
אימות ההגדרות האישיות
אתם יכולים להשתמש ב-Metrics Explorer כדי לוודא שהגדרתם נכון את SGLang. יכול להיות שיעברו דקה או שתיים עד ש-Cloud Monitoring יקלוט את המדדים.
כדי לוודא שהמדדים נקלטים, מבצעים את הפעולות הבאות:
-
במסוף Google Cloud , נכנסים לדף leaderboard Metrics explorer:
אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Monitoring.
- בסרגל הכלים של חלונית הכלי ליצירת שאילתות, לוחצים על הלחצן ששמו code PromQL.
- מזינים ומריצים את השאילתה הבאה:
up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
פתרון בעיות
למידע על פתרון בעיות בהטמעת מדדים, ראו בעיות באיסוף ממייצאים במאמר פתרון בעיות בצד ההטמעה.