מעקב אחרי Google Distributed Cloud במודל מחובר

במאמר הזה מוסבר איך לעקוב אחרי תקינות, זמן פעולה ושדרוגים של עומסי עבודה שמקושרים ל-Google Distributed Cloud. מידע נוסף על הגדרת מעקב ועל המדדים הזמינים מופיע במאמר יומנים ומדדים.

מעקב אחר תקינות וזמינות של עומסי עבודה

אתם אחראים למעקב אחרי תקינות וזמינות של עומסי העבודה (קונטיינרים ומכונות וירטואליות) שפועלים ב-Distributed Cloud Connected.

עומסי עבודה של קונטיינרים

כדי לעקוב אחרי התקינות וזמן הפעולה של עומסי העבודה שמבוססים על קונטיינרים שאתם פורסים, מומלץ להשתמש בפתרון המדדים של Prometheus. אתם יכולים להגדיר את Prometheus כדי לגרד מדדים מה-Pods והשירותים שלכם. שירותי מערכת מנוהלים על ידי Google מנוטרים ומנוהלים באופן אוטומטי על ידי Google. מידע נוסף על הגדרת Prometheus זמין במאמר איסוף מדדים באמצעות Prometheus.

אפשר להשתמש במדדים המרכזיים הבאים כדי לעקוב אחרי עומסי עבודה של קונטיינרים. אם אתם משתמשים ב-Prometheus, אתם אחראים לפריסה ולניהול של Kube State Metrics כדי לחשוף את המדדים הספציפיים האלה לעומסי העבודה שלכם:

  • kube_pod_status_phase: מעקב אחרי Pods בשלבים Failed או Unknown.
  • kube_pod_container_status_waiting_reason: זיהוי של Pods שנתקעו במצב CrashLoopBackOff או ImagePullBackOff.
  • container_cpu_usage_seconds_total ו-container_memory_working_set_bytes (מ-cAdvisor): מעקב אחרי צריכת המשאבים כדי למנוע בעיות של חוסר זיכרון (OOM).

עומסי עבודה של מכונות וירטואליות

ב-Distributed Cloud Connected, מכונות וירטואליות (VM) פועלות בתוך פודים רגילים של Kubernetes, שבדרך כלל מתחילים בקידומת virt-launcher-. כדי לעקוב אחרי המצב והסטטוס של מכונה וירטואלית, בודקים בעיקר את הסטטוס של VirtualMachine משאב מותאם אישית או עוקבים אחרי מדדי האפליקציה מתוך המכונה הווירטואלית.

אפשר להשתמש במדדים הבסיסיים של virt-launcher Pod כאינדיקטורים משניים לפרטים הבאים:

  • שימוש במשאבים: מעקב אחרי צריכת המעבד (CPU) והזיכרון של ה-Pods של מרכז האפליקציות כדי לוודא שלמכונות הווירטואליות יש מספיק משאבים.
  • שלב ה-Pod: מעקב אחרי השלבים של Pod להפעלת המכונה כדי לזהות מכונות וירטואליות שלא מצליחות להתחיל או קורסות.

כדי לשנות את המשאבים שמוקצים למכונה וירטואלית, משנים את המפרט של המשאב המותאם אישית של המכונה הווירטואלית. אל תשנו ישירות את קובצי ה-YAML של ה-Pod virt-launcher, כי הם מנוהלים על ידי הפלטפורמה. כל שינוי ישיר יוביל לשגיאות של החלפה או של התאמה.

כדי לפתור בעיות במכונות וירטואליות שנתקעו במצב המתנה, אפשר לעיין במאמר פתרון בעיות במכונות וירטואליות שנתקעו במצב המתנה.

מעקב אחרי שדרוגים של Google Distributed Cloud במודל מחובר

אפשר לעקוב אחרי ההתקדמות והסטטוס של שדרוגי תוכנה ב-Distributed Cloud במודל מחובר באמצעות מדדים של Cloud Monitoring ופקודות gcloud. ‫Google מתזמנת ומבצעת את השדרוגים. המעקב נועד אך ורק כדי לקבל תובנות ולתכנן את העברת עומסי העבודה (workloads).

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

Multi-cluster monitoring

אם אתם מנהלים הרבה אשכולות שמקושרים ל-Distributed Cloud, מומלץ להשתמש ב-Cloud Monitoring כדי לצבור ולסנן מדדים.

  • שימוש בתוויות משאבים: מדדים שמיוצאים ל-Cloud Monitoring כוללים תוויות שמזהות את המקור. התוויות הזמינות משתנות בהתאם לסוג המשאב:

    • למדדים של אשכולות וקונטיינרים, כמו k8s_container, התוויות העיקריות כוללות את הערכים הבאים:

      • project_id: Google Cloud הפרויקט שמארח את האשכול.
      • location: Google Cloud האזור שבו האשכול רשום.
      • cluster_name: שם האשכול.
    • במדדי חומרה, כמו edgecontainer.googleapis.com/machine, התוויות העיקריות כוללות את הערכים הבאים:

      • resource_container: הפרויקט Google Cloud שמשויך לחומרה.
      • location: האזור שבו רשום אזור ה-Distributed Cloud במודל מחובר. Google Cloud
      • machine_id: המזהה של המכונה.

      מדדי החומרה לא כוללים תווית cluster_name באופן ישיר.

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

  • הגדרת התראות מרובות אשכולות: הגדרה של מדיניות התראות שחלה על כמה אשכולות. לדוגמה, אפשר ליצור התראה שמופעלת אם מכונה כלשהי באשכול כלשהו מאבדת את הקישוריות.

אסטרטגיית התראות

המעקב אחרי Google Distributed Cloud במודל מחובר והתחזוקה שלו הם אחריות משותפת. בקטע הזה מוסבר על מה Google מתריעה ואיך אפשר להגדיר מדיניות התרעות משלכם.

מהן ההתראות של Google

‫Google מנטרת באופן רציף את התשתית הבסיסית. הוא מבצע פעולה ומודיע לכם אם יש צורך בכך במצבים הבאים:

  • כשלים בחומרה: כשלים באספקת החשמל, כשלים במאוורר, התחממות יתר או כשלים בדיסק, כמו דיסק שמגיע לסף הרזרבה או לסוף חיי השימוש.
  • בעיות בקישוריות: אובדן מוחלט של החיבור בין אזור מחובר של Distributed Cloud לבין Google Cloud.
  • תקינות מישור הבקרה: כשלים במישור הבקרה של Kubernetes או בשירותי מערכת בניהול Google.
  • כשלים בשדרוג: תהליכי שדרוג אוטומטיים שנתקעים או נכשלים.

הגדרת התראות

אתם יכולים להגדיר מדיניות התראות משלכם ב-Cloud Monitoring או ב-Prometheus לבעיות שמשפיעות על עומסי העבודה או על הסביבה המקומית.

אפשר להגדיר התראות לגבי הבעיות הבאות:

שגיאה תיאור מערכת ניטור פרטים
זמן השבתה של עומס העבודה פודים או מכונות וירטואליות לא מופעלים או נכנסים ללולאת קריסה Prometheus לעומסי עבודה של קונטיינרים, יוצרים התראות ב-kube_pod_status_phase כדי לזהות קבוצות Pod בשלבים Failed או Unknown. אפשר גם להגדיר התראה ב-kube_pod_container_status_waiting_reason כשהערך שווה ל-CrashLoopBackOff או ל-ImagePullBackOff.
Cloud Monitoring עבור עומסי עבודה של מכונות וירטואליות שפועלים ב-Pods, מגדירים התראות באמצעות מדדי קונטיינרים סטנדרטיים של Kubernetes ב-Cloud Monitoring כדי לעקוב אחרי הסטטוס של virt-launcher Pods.
מיצוי משאבים של עומס עבודה השימוש בדיסק מתקרב לקיבולת, או שיש שימוש גבוה בזיכרון או במעבד (CPU) בעומסי עבודה Prometheus עבור עומסי עבודה של קונטיינרים, מגדירים התראות על סף ב-container_cpu_usage_seconds_total וב-container_memory_working_set_bytes (מ-cAdvisor) כדי לזהות Pods שמתקרבים למגבלות המשאבים שלהם.
Cloud Monitoring במקרה של אחסון במכונה, כדאי לעקוב אחרי מדד ניצול הדיסק במכונה edgecontainer.googleapis.com/machine/disk/utilization כדי לזהות מתי האחסון בצומת מתקרב לקיבולת המקסימלית.
בעיות ברשת המקומית ממשק הרשת נכשל במחשבים Cloud Monitoring בודקים אם מדד הזמינות של רשת המכונה edgecontainer.googleapis.com/machine/network/up הוא false.
אין חיבור לאינטרנט Cloud Monitoring בודקים אם מדד הקישוריות לרשת edgecontainer.googleapis.com/machine/network/connectivity הוא false.
הפעלה מחדש של המכונה הפעלה מחדש או כיבוי לא צפויים של המכשיר Cloud Monitoring הגדרת התראות באמצעות מדדים של edgecontainer.googleapis.com/machine/uptime ו-edgecontainer.googleapis.com/machine/restart_count. מידע נוסף זמין במאמר בנושא פתרון בעיות בהפעלה מחדש של מכונות.

הציוד של Distributed Cloud במודל מחובר מנוהל על ידי Google. אין לכם גישת SSH למכונות או שליטה במערכת ההפעלה של המארח. אם מופעלות התראות על סמך מדדים ברמת המכונה, כמו קישוריות לרשת או הפעלות מחדש, הפעולות שתוכלו לבצע מוגבלות לבדיקת החשמל הפיזי, הכבלים, הרשת המקומית והגדרות חומת האש, או להעברת הבעיה לצוות התמיכה של Google.