מעקב אחרי מופעים ופעולות

‫Cloud Monitoring אוסף ושומר באופן אוטומטי מידע על מכונת Managed Lustre.

במסמך הזה מפורטת סקירה כללית של המדדים שזמינים לניטור Managed Lustre ב- Google Cloud. המדדים האלה עוזרים לכם להבין את הביצועים, הקיבולת והמצב של מערכות הקבצים של Managed Lustre, כדי שתוכלו לזהות צווארי בקבוק, לפתור בעיות ולבצע אופטימיזציה של ניצול המשאבים.

אפשר להשתמש במדדים האלה ב-Cloud Monitoring כדי ליצור לוחות בקרה בהתאמה אישית, להגדיר התראות ולקבל תובנות מעמיקות יותר לגבי ההתנהגות של מופע Managed Lustre.

‫Cloud Monitoring מופעל באופן אוטומטי עבור Managed Lustre. אין תשלום על איסוף הנתונים או על הצגת המדדים בGoogle Cloud מסוף. יכול להיות שיהיו חיובים על קריאות ל-API. פרטים על התמחור מופיעים במחירון של Cloud Monitoring.

התפקידים שצריך ב-IAM

נדרשים התפקידים הבאים:

  • הצגת נתונים ב-Monitoring (roles/monitoring.viewer) או הרשאות שוות ערך, כדי להציג מדדים ב-Cloud Monitoring.
  • הרשאת עריכה של מעקב (roles/monitoring.editor) או הרשאות שוות ערך, כדי להגדיר התראות.

איך מעניקים תפקיד ב-IAM

הצגת המדדים

מדדים של Cloud Monitoring זמינים משני מקומות במסוףGoogle Cloud :

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

  • בדף Cloud Monitoring יש כמה אפשרויות של תרשימים והתאמות אישיות.

הצגת מדדים בדף הפרטים של המופע

כדי לראות את המדדים של מופע ספציפי:

  1. נכנסים לדף Instances במסוף Google Cloud .

    כניסה לדף Instances

  2. לוחצים על המופע שרוצים לראות את המדדים שלו. יופיע הדף Instance details.

  3. לוחצים על הכרטיסייה מעקב. לוח הבקרה שמוגדר כברירת מחדל מוצג.

הצגת מדדים ב-Cloud Monitoring

כדי לראות את מדדי Managed Lustre ב-Cloud Monitoring:

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

    כניסה ל-Monitoring: Metrics Explorer

  2. פועלים לפי ההוראות במאמר יצירת תרשימים באמצעות Metrics Explorer כדי לבחור את המדדים ולהציג אותם.

הגדרת התראות

אתם יכולים להגדיר מדיניות התראות ב-Cloud Monitoring כדי לקבל התראה כשמערכת הקבצים של Managed Lustre עומדת בתנאים ספציפיים, כמו חריגה מקיבולת האחסון או ממגבלות התפוקה.

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

כדי ליצור מדיניות התראות, צריך להיות לכם תפקיד עריכה ב-Monitoring (roles/monitoring.editor) ב-IAM בפרויקט.

יצירת מדיניות התראות

כדי להגדיר התראה, צריך להגדיר תנאי באמצעות מדד או שאילתת PromQL ולהגדיר ערוצי התראות.

  1. נכנסים לדף Alerting במסוף Google Cloud . Google Cloud

    מעקב: התראות

  2. לוחצים על + יצירת מדיניות.

  3. בוחרים באפשרות Builder ובוחרים את המדד, או בוחרים באפשרות Code editor כדי להזין שאילתה עם PromQL. בכלי לבחירת מדדים, המדדים של Managed Lustre נמצאים במשאבים Lustre instance ו-Lustre location.

  4. מגדירים את הלוגיקה של הטריגר ומגדירים את ערוצי ההתראות ואת הגדרות ההתראות.

  5. לוחצים על יצירת מדיניות.

מידע נוסף על יצירת טריגרים ואפשרויות אחרות זמין במאמרים הבאים:

דוגמה: יצירת התראה על קיבולת אחסון

בדוגמה הבאה אפשר לראות איך יוצרים התראה שמופעלת כשמופע Managed Lustre חורג מ-80% מהקיבולת שהוקצתה לו.

  1. נכנסים לדף Alerting במסוף Google Cloud . Google Cloud

    מעקב: התראות

  2. לוחצים על + יצירת מדיניות.

  3. בוחרים באפשרות עורך הקוד.

  4. בעורך השאילתות, מדביקים את שאילתת PromQL הבאה:

    (
      sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes)
      -
      sum by (instance_id, location) (lustre_googleapis_com:instance_available_bytes)
    )
    /
    sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes)
    > 0.8
    

    השאילתה הזו מחשבת את יחס השימוש בכל המקרים: (Total - Available) / Total. הערך 0.8 מייצג את סך הבייטים שהגיעו ל-80% שימוש. כדי לקבל התראה כשמגיעים ל-90%, משנים את הערך הזה ל-0.9.

  5. לוחצים על Run Query (הפעלת שאילתה) כדי לאמת את התחביר ולראות תרשים של יחס השימוש הנוכחי.

  6. לוחצים על הבא ומגדירים את הטריגר לAny time series violates (כל חריגה מסדרת זמן).

  7. לוחצים על הבא. בקטע Documentation, מוסיפים פעולות מומלצות לפתרון בעיית הקיבולת. לדוגמה:

    ## Action Required: Lustre Capacity Warning
    The Managed Lustre instance is exceeding 80% capacity usage.
    
    **Metric:** Usage Ratio > 0.8
    **Severity:** Warning
    
    **Recommended Actions:**
    1. Check the instance details in the Google Cloud console.
    2. Verify if this is expected data growth or a runaway process.
    3. If valid, consider expanding the storage capacity of the instance or deleting old data to free up space.
    4. Failure to address this may result in "No Space Left on Device" errors for client applications.
    

יצירת מדיניות התראות באמצעות gcloud

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

בדוגמה הבאה נוצרת התראה על קיבולת של 80% באמצעות gcloud:

gcloud monitoring policies create \
  --policy-from-file=/dev/stdin <<EOF
{
  "displayName": "Lustre High Capacity Usage (>80%)",
  "severity": "WARNING",
  "combiner": "OR",
  "conditions": [
    {
      "displayName": "Capacity Usage Ratio > 0.8",
      "conditionPrometheusQueryLanguage": {
        "query": "(sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes) - sum by (instance_id, location) (lustre_googleapis_com:instance_available_bytes)) / sum by (instance_id, location) (lustre_googleapis_com:instance_capacity_bytes) > 0.8",
        "duration": "300s",
        "evaluationInterval": "60s",
        "alertRule": "AlwaysOn"
      }
    }
  ],
  "documentation": {
    "content": "Action Required: The Managed Lustre instance is exceeding 80% capacity usage. Please verify if storage expansion is required.",
    "mimeType": "text/markdown"
  }
}
EOF

פרטי המדד

מדדים של Managed Lustre מצורפים לסוגי המשאבים המפוקחים הבאים:

  • lustre.googleapis.com/Instance
  • lustre.googleapis.com/Job
  • lustre.googleapis.com/QuotaEntity

הנתונים נדגמים כל 60 שניות. אחרי הדגימה, יכול להיות שיעברו עד 180 שניות עד שהנתונים יוצגו.

מדדים של נפח האחסון

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

בתוויות של מדדים, הערך של target הוא בפורמט <fsname>-<TYPE><HEXA>, כאשר <HEXA> הוא האינדקס של היעד בבסיס הקסדצימלי, שמתחיל מאפס. לדוגמה, אם שם מערכת הקבצים הוא filesys, ה-OST ה-43 הוא filesys-OST002a, וה-MDT ה-4 הוא filesys-MDT0003.

מדדי נפח האחסון מצורפים למשאב lustre.googleapis.com/Instance.

מדד תיאור פרטים
available_bytes מספר הבייטים של נפח האחסון של יעד אחסון אובייקטים (OST) או יעד מטא-נתונים (MDT) מסוים שזמין למשתמשים שאינם משתמשים עם הרשאות root. שם לתצוגה: Available bytes
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: bytes
תוויות:
component: סוג היעד: ost, mdt או mgt.
target: שם היעד.
capacity_bytes מספר הבייטים שהוקצו ליעד הנתון. אפשר לחשב את נפח הנתונים או המטא-נתונים הכולל שניתן לשימוש באשכול עבור מופע מסוים על ידי חיבור הקיבולת של כל היעדים עבור סוג יעד נתון. שם לתצוגה: Capacity bytes
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: bytes
תוויות:
component: סוג היעד: ost, mdt או mgt.
target: שם היעד.
free_bytes מספר הבייטים של נפח האחסון של OST או MDT נתונים שזמין למשתמשי root. שם לתצוגה: בייטים פנויים
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: בייטים
תוויות:
component: סוג היעד: ost, mdt או mgt.
target: שם היעד.

מדדים של Inode (אובייקט)

מדדים שקשורים למספר ה-inodes (אובייקטים) שזמינים ולקיבולת המקסימלית.

מדדי inode מצורפים למשאב lustre.googleapis.com/Instance.

מדד תיאור פרטים
inodes_free מספר ה-inodes (אובייקטים) שזמינים ביעד הנתון. שם לתצוגה: Free inodes
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: inodes
תוויות:
component: סוג היעד.
target: שם היעד.
inodes_maximum המספר המקסימלי של צמתי מידע (אובייקטים) שהיעד יכול להכיל. השם המוצג: Maximum inodes
סוג המדד: GAUGE
סוג הערך: INT64
היחידה: inodes
תוויות:
component: סוג היעד.
target: שם היעד.

מדדי ביצועים של קלט/פלט

מדדים שמספקים תובנות לגבי שיעורי העברת הנתונים והחביון של הפעולות.

מדדי הביצועים של קלט/פלט מצורפים למשאב lustre.googleapis.com/Instance.

מדד תיאור פרטים
io_time_milliseconds_total מספר פעולות הקריאה או הכתיבה שהחביון שלהן נמצא בטווחים של החביון שסווגו. שם לתצוגה: השהיית פעולה
סוג המדד: מצטבר
סוג הערך: INT64
יחידה: פעולות
תוויות:
component: סוג היעד.
operation: סוג הפעולה.
size: טווח זמן הטעינה שמוקצה לקטגוריה. לדוגמה, 512 כולל את מספר הפעולות שנמשכו בין 512 ל-1024 אלפיות השנייה.
target: שם היעד.
read_bytes_total מספר בייטים של נתונים שנקראו מה-OST הנתון. שם לתצוגה: נתונים בבייט שנקראו
סוג המדד: מצטבר
סוג הערך: INT64
יחידה: בייט
תוויות:
component: סוג היעד: תמיד ost.
operation: סוג הפעולה: read.
target: שם היעד.
read_samples_total מספר פעולות הקריאה שבוצעו ב-OST הנתון. שם לתצוגה: פעולות קריאת נתונים
סוג המדד: מצטבר
סוג הערך: INT64
יחידה: פעולות
תוויות:
component: סוג היעד: תמיד ost.
operation: סוג הפעולה: read.
target: שם היעד.
write_bytes_total מספר בייטים של נתונים שנכתבו ל-OST שצוין. שם לתצוגה: Data write bytes
סוג המדד: CUMULATIVE
סוג הערך: INT64
יחידה: bytes
תוויות:
component: סוג היעד: תמיד ost.
operation: סוג הפעולה: write.
target: שם היעד.
write_samples_total מספר פעולות הכתיבה שבוצעו ב-OST הנתון. שם לתצוגה: פעולות כתיבת נתונים
סוג המדד: מצטבר
סוג הערך: INT64
יחידה: פעולות
תוויות:
component: סוג היעד: תמיד ost.
operation: סוג הפעולה: write.
target: שם היעד.

מדדי מטמון

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

מדדי מטמון מצורפים למשאב lustre.googleapis.com/Instance.

מדד תיאור פרטים
cache/read_hits מספר ההיטים של קריאה ליעד ספציפי. שם לתצוגה: Cache read hits
סוג המדד: CUMULATIVE
סוג הערך: INT64
יחידה: 1
תוויות:
target: שם היעד.
cache/read_misses מספר הפעמים שבהן לא נמצאו נתונים בקריאה של יעד ספציפי. שם לתצוגה: Cache read misses
סוג המדד: CUMULATIVE
סוג הערך: INT64
יחידה: 1
תוויות:
target: שם היעד.

מדדים של חיבורים ללקוחות

מדדים שנועדו להבין את הקישוריות של הלקוח.

מדדי החיבור של הלקוח מצורפים למשאב lustre.googleapis.com/Instance.

מדד תיאור פרטים
connected_clients מספר הלקוחות שמחוברים כרגע ל-MDT הנתון. שם התצוגה: Connected clients
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: clients
תוויות:
component: סוג היעד. הערך הזה תמיד יהיה mdt.
target: השם של ה-MDT.

מדדי המכסה של מערכת הקבצים

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

מדדי המכסות של מערכת הקבצים משויכים למשאב המפוקח lustre.googleapis.com/QuotaEntity.

מדד תיאור פרטים
used_bytes המספר הכולל של בייטים שנצרכו כרגע על ידי המשתמש, הקבוצה או הפרויקט. שם לתצוגה: Quota used bytes
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: Bytes
תוויות:
accounting_type: אחת מהאפשרויות user, group או project.
id: המזהה המספרי של המשתמש, הקבוצה או הפרויקט.
target: השם של מכשיר היעד של Lustre.
soft_limit_bytes סף צריכת האחסון שמפעיל תקופת חסד. אם השימוש יישאר מעל המגבלה הזו אחרי שתקופת החסד תסתיים, המגבלה הזו תהפוך למגבלה קשיחה. שם לתצוגה: מכסת בייטים של מגבלה רכה
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: בייטים
תוויות:
accounting_type: אחת מהאפשרויות user, group או project.
id: המזהה המספרי של המשתמש, הקבוצה או הפרויקט.
target: השם של מכשיר היעד של Lustre.
hard_limit_bytes נפח האחסון המקסימלי שמותר למשתמש, לקבוצה או לפרויקט. פעולות כתיבה שחורגות מהמגבלה הזו נדחות. שם לתצוגה: מכסת בייטים מקסימלית
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: בייטים
תוויות:
accounting_type: אחת מהאפשרויות user, group או project.
id: המזהה המספרי של המשתמש, הקבוצה או הפרויקט.
target: השם של מכשיר היעד של Lustre.
used_inodes המספר הכולל של צמתי inode (רשומות קבצים) שנמצאים כרגע בשימוש של המשתמש, הקבוצה או הפרויקט. שם לתצוגה: מכסת inode בשימוש
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: Count
תוויות:
accounting_type: אחד מהערכים user, group או project.
id: המזהה המספרי של המשתמש, הקבוצה או הפרויקט.
target: השם של מכשיר היעד של Lustre.
soft_limit_inodes סף צריכת ה-inode שמפעיל תקופת חסד. אם השימוש יישאר מעל המגבלה הזו אחרי שתקופת החסד תסתיים, המגבלה הזו תהפוך למגבלה קשיחה מחייבת. שם לתצוגה: Quota soft limit inodes
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: Count
תוויות:
accounting_type: אחת מהאפשרויות user, group או project.
id: המזהה המספרי של המשתמש, הקבוצה או הפרויקט.
target: השם של מכשיר היעד של Lustre.
hard_limit_inodes מספר מקסימלי של צמתי inode שמותר למשתמש, לקבוצה או לפרויקט. אם חורגים מהמגבלה הזו, יצירת הקובץ נדחית. שם לתצוגה: Quota hard limit inodes
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: Count
תוויות:
accounting_type: אחת מהאפשרויות user,‏ group או project.
id: המזהה המספרי של המשתמש, הקבוצה או הפרויקט.
target: השם של מכשיר היעד של Lustre.

מדדים של Jobstats

מדדים שמספקים נתונים סטטיסטיים של קריאה, כתיבה ומטא-נתונים לכל JobID, כפי שהוגדר בלקוח.

כדי לאסוף את המדדים האלה, צריך להשתמש ב-lctl כדי להגדיר את הפרמטר jobid_var בלקוחות Lustre. מידע נוסף זמין במאמר בנושא Lustre Jobstats.

כדי להגדיר את הלקוח לדווח על מזהה ספציפי (לדוגמה, procname_uid), משתמשים בפקודה lctl set_param jobid_var:

lctl set_param jobid_var=procname_uid

מדדי Jobstats מצורפים למשאב lustre.googleapis.com/Job.

מדד תיאור פרטים
read_bytes_total המספר הכולל של בייטים שנקראו על ידי העבודה. שם לתצוגה: Data read bytes by job
סוג המדד: CUMULATIVE
סוג הערך: INT64
יחידה: Bytes
תוויות:
job_id: מספר העבודה שנשלח על ידי הלקוח.
component: סוג היעד.
target: שם היעד.
instance_id: המזהה של מכונת Managed Lustre.
write_bytes_total המספר הכולל של בייטים שנכתבו על ידי העבודה. שם לתצוגה: Data write bytes by job
סוג המדד: CUMULATIVE
סוג הערך: INT64
יחידה: Bytes
תוויות:
job_id: מספר העבודה שנשלח על ידי הלקוח.
component: סוג היעד.
target: שם היעד.
instance_id: המזהה של מכונת Managed Lustre.
metadata_operations_total סך כל פעולות המטא-נתונים שבוצעו על ידי העבודה. שם לתצוגה: Metadata operations by job
סוג המדד: CUMULATIVE
סוג הערך: INT64
יחידה: operations
תוויות:
job_id: מזהה העבודה שנשלח על ידי הלקוח.
component: סוג היעד.
target: שם היעד.
instance_id: המזהה של מכונת Managed Lustre.
read_samples_total המספר הכולל של פעולות קריאה שבוצעו על ידי העבודה. שם לתצוגה: פעולות קריאת נתונים לפי משימה
סוג המדד: מצטבר
סוג הערך: INT64
יחידה: פעולות
תוויות:
job_id: מזהה המשימה שנשלח על ידי הלקוח.
component: סוג היעד.
target: שם היעד.
instance_id: המזהה של מכונת Managed Lustre.
write_samples_total המספר הכולל של פעולות כתיבה שבוצעו על ידי הג'וב. שם לתצוגה: פעולות כתיבת נתונים לפי משימה
סוג המדד: מצטבר
סוג הערך: INT64
יחידה: פעולות
תוויות:
job_id: מזהה המשימה שנשלח על ידי הלקוח.
component: סוג היעד.
target: שם היעד.
instance_id: המזהה של מכונת Managed Lustre.
read_maximum_size_bytes הגודל המקסימלי בבייטים של פעולות קריאה על ידי העבודה. שם התצוגה: גודל מקסימלי של נתונים לקריאה לפי משימה
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: Bytes
תוויות:
job_id: מספר המשימה שנשלח על ידי הלקוח.
component: סוג היעד.
target: שם היעד.
instance_id: המזהה של מכונת Managed Lustre.
read_minimum_size_bytes הגודל המינימלי בבייטים של פעולות קריאה על ידי העבודה. שם לתצוגה: גודל מינימלי של נתונים לקריאה לפי משימה
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: Bytes
תוויות:
job_id: מספר המשימה שנשלח על ידי הלקוח.
component: סוג היעד.
target: שם היעד.
instance_id: המזהה של מכונת Managed Lustre.
write_maximum_size_bytes הגודל המקסימלי בבייטים של פעולות כתיבה על ידי העבודה. שם לתצוגה: גודל מקסימלי של כתיבת נתונים לפי משימה
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: Bytes
תוויות:
job_id: מספר המשימה שנשלח על ידי הלקוח.
component: סוג היעד.
target: שם היעד.
instance_id: המזהה של מכונת Managed Lustre.
write_minimum_size_bytes הגודל המינימלי בבייטים של פעולות כתיבה על ידי העבודה. שם לתצוגה: גודל מינימלי של כתיבת נתונים לפי משימה
סוג המדד: GAUGE
סוג הערך: INT64
יחידה: Bytes
תוויות:
job_id: מזהה המשימה שנשלח על ידי הלקוח.
component: סוג היעד.
target: שם היעד.
instance_id: המזהה של מכונת Managed Lustre.