SGLang

במאמר הזה מוסבר איך להגדיר את הפריסה של Google Kubernetes Engine כדי שתוכלו להשתמש בשירות המנוהל של Google Cloud ל-Prometheus לאיסוף מדדים מ-SGLang. במאמר הזה מוסבר איך:

ההוראות האלה רלוונטיות רק אם אתם משתמשים ב אוסף מנוהל עם שירות מנוהל ל-Prometheus. אם אתם משתמשים באיסוף בפריסה עצמית, עיינו במסמכי התיעוד של SGLang כדי לקבל מידע על ההתקנה.

ההוראות האלה הן דוגמה, והן אמורות לפעול ברוב סביבות Kubernetes. אם אתם נתקלים בבעיות בהתקנה של אפליקציה או של כלי ייצוא בגלל מדיניות אבטחה או מדיניות ארגונית מגבילה, מומלץ לעיין במסמכי התיעוד של קוד פתוח כדי לקבל תמיכה.

מידע על SGLang זמין במאמר SGLang.

דרישות מוקדמות

כדי לאסוף מדדים מ-SGLang באמצעות השירות המנוהל ל-Prometheus ואיסוף מנוהל, הפריסה צריכה לעמוד בדרישות הבאות:

  • באשכול צריכה לפעול גרסה ‎1.28.15-gke.2475000 או גרסה חדשה יותר של Google Kubernetes Engine.
  • צריך להפעיל את השירות המנוהל ל-Prometheus עם איסוף מנוהל. מידע נוסף מופיע במאמר תחילת העבודה עם איסוף מנוהל.

כשמפעילים את SGLang עם הדגל --enable-metrics, הוא חושף מדדים בפורמט של Prometheus, ואין צורך להתקין כלי לייצוא נתונים בנפרד. כדי לוודא ש-SGLang שולח מדדים לנקודות הקצה הצפויות:

  1. מגדירים העברה ליציאה אחרת באמצעות הפקודה הבאה:
    kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
    
  2. נכנסים לנקודת הקצה 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 יקלוט את המדדים.

כדי לוודא שהמדדים נקלטים, מבצעים את הפעולות הבאות:

  1. במסוף Google Cloud , נכנסים לדף  Metrics explorer:

    כניסה לדף Metrics Explorer

    אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Monitoring.

  2. בסרגל הכלים של חלונית הכלי ליצירת שאילתות, לוחצים על הלחצן ששמו  PromQL.
  3. מזינים ומריצים את השאילתה הבאה:
    up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

פתרון בעיות

למידע על פתרון בעיות בהטמעת מדדים, ראו בעיות באיסוף ממייצאים במאמר פתרון בעיות בצד ההטמעה.