מעקב אחרי מספר התהליכים במכונה וירטואלית

מדיניות התראות מסוג process-health ב-Cloud Monitoring מאפשרת לכם לעקוב אחרי מספר התהליכים שפועלים במכונות הווירטואליות (VM) ועומדים בתנאים שאתם מציינים. לדוגמה, אפשר להשתמש במסוף Google Cloud כדי לספור תהליכים שהופעלו על ידי משתמש Root או תהליכים שפקודת ההפעלה שלהם מכילה מחרוזת ספציפית. מדיניות ההתראות שולחת התראות כשמספר התהליכים חוצה סף שהגדרתם. מידע על התהליכים שאפשר לעקוב אחריהם זמין במאמר תהליכים שנמצאים במעקב.

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

לפני שמתחילים

  1. כדי לקבל את ההרשאות שנדרשות ליצירה ולשינוי של מדיניות התראות באמצעות מסוף Google Cloud , צריך לבקש מהאדמין להקצות לכם בפרויקט את התפקיד עריכת מעקב (roles/monitoring.editor) ב-IAM. להסבר על מתן תפקידים, קראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

    מידע נוסף על תפקידים ב-Cloud Monitoring זמין במאמר בקרת גישה באמצעות ניהול זהויות והרשאות גישה (IAM).

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

  3. מגדירים את ערוצי ההתראות שרוצים להשתמש בהם כדי לקבל התראות. לצורך יתירות, מומלץ גם ליצור כמה סוגים של ערוצי התראות. מידע על השלבים האלה זמין במאמר יצירה וניהול של ערוצי התראות.

  4. מוודאים שהתקנתם את סוכן תפעול במכונות הווירטואליות שאתם רוצים לנטר. מידע נוסף מופיע במאמר סוכני Google Cloud Observability.

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

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

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

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

    נכנסים לדף Alerting.

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

  2. לוחצים על יצירת מדיניות.
  3. בחירה באפשרות ? בכותרת של הקטע Select metric, ואז לוחצים על Direct filter mode בהסבר הקצר.

  4. מזינים מסנן מעקב.

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

    select_process_count("monitoring.regex.full_match(\".*nginx.*\")")
    resource.type="gce_instance"
    

    מידע על התחביר זמין במקורות המידע הבאים:

  5. משלימים את מדיניות ההתראות. צריך להגדיר את הטריגר של התנאי, את ההתראות, את התיעוד ואת שם המדיניות, ואז ללחוץ על Create policy.

    מידע נוסף זמין במאמר יצירת מדיניות התראות לפי סף של מדד.

תהליכים שנמצאים במעקב

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

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

    ps aux | grep nfs
    USER      PID  %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root      1598  0.0  0.0      0     0 ?        S<   Oct25   0:00 [nfsd4]
    root      1639  0.0  0.0      0     0 ?        S    Oct25   2:33 [nfsd]
    root      1640  0.0  0.0      0     0 ?        S    Oct25   2:36 [nfsd]

כשערך COMMAND מוקף בסוגריים מרובעים, למשל [nfsd], המידע על התהליך בשורת הפקודה לא זמין. במצב כזה, אי אפשר להשתמש ב-Cloud Monitoring כדי לעקוב אחרי התהליך.