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

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

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

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

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

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

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

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

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

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

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

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

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

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

    עוברים אל התראות

    אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא 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. משלימים את מדיניות ההתראות. צריך להגדיר את טריגר התנאי, ההתראות, התיעוד ושם המדיניות, ואז ללחוץ על יצירת מדיניות.

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

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

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

דרך אחת לקבוע אם אפשר לעקוב אחרי תהליך באמצעות תנאי של תקינות התהליך היא לבדוק את התהליכים הפעילים. לדוגמה, במערכת 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 כדי לעקוב אחרי התהליך.