שליטה בהעברה של יומנים מ-Dataflow

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

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

משימות Dataflow פולטות כמה סוגים של יומנים. בדף הזה מוסבר איך לסנן יומנים של משימות Dataflow ויומנים של עובדים.

יצירת מסננים להחרגת יומנים

בדוגמה הזו נוצר מסנן החרגה ב_Default יעד ב-Cloud Logging. המסנן לא כולל את כל היומנים של Dataflow ברמת החומרה DEFAULT, DEBUG, INFO ו-NOTICE, ולכן הם לא נקלטים ב-Cloud Logging. WARNING, ERROR, CRITICAL, ALERT ו-EMERGENCY עדיין נרשמים ביומנים. מידע נוסף על רמות היומן הנתמכות זמין במאמר בנושא LogSeverity.

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

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

הרשאות

לפני שמתחילים, חשוב לוודא את הדברים הבאים:

  • יש לכם פרויקט עם יומנים שאתם יכולים לראות ב-Logs Explorer. Google Cloud

  • יש לכם אחד מתפקידי ה-IAM הבאים בפרויקט המקורGoogle Cloud שממנו אתם מעבירים את היומנים.

    • בעלים (roles/owner)
    • אדמין ב-Logging (roles/logging.admin)
    • Logs Configuration Writer (roles/logging.configWriter)

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

  • יש לכם משאב ביעד נתמך או שאתם יכולים ליצור משאב כזה.

    צריך ליצור את יעד הניתוב לפני יצירת מאגר הנתונים, באמצעות Google Cloud CLI,‏ Google Cloud מסוף Google Cloud או Google Cloudממשקי ה-API. אפשר ליצור את היעד בכל Google Cloud פרויקט ובכל ארגון. לפני שיוצרים את היעד, צריך לוודא שלחשבון השירות מהמקור יש הרשאות כתיבה ליעד.

הוספת מסנן החרגות

בשלבים הבאים מוסבר איך להוסיף מסנן החרגה של Cloud Logging ליומני Dataflow. מסנן ההחרגה הזה בוחר את כל רשומות היומן של Dataflow עם רמת החומרה DEFAULT,‏ DEBUG,‏ INFO ו-NOTICE ממשימות שיש להן שם משימה ב-Dataflow שלא מסתיים במחרוזת debug. המסנן מוציא את היומנים האלה מההטמעה בקטגוריה Default Cloud Logging.

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

    כניסה לדף Logs Router

  2. מוצאים את השורה עם _Default היעד, מרחיבים את האפשרות פעולות ולוחצים על עריכת היעד.

  3. בקטע Choose logs to filter out of sink (בחירת יומנים לסינון מתוך יעד), לוחצים על Add exclusion (הוספת החרגה) בקטע Build an exclusion filter (יצירת מסנן החרגה).

  4. מזינים שם למסנן ההחרגה.

  5. בקטע Build an exclusion filter, מדביקים את הטקסט הבא בתיבה:

    resource.type="dataflow_step" AND
    labels."dataflow.googleapis.com/job_name"!~".*debug" AND
    severity=(DEFAULT OR DEBUG OR INFO OR NOTICE)
    
    • בשורה הראשונה נבחרים כל הערכים ביומן שנוצרו על ידי שירות Dataflow.
    • בשורה השנייה נבחרות כל רשומות היומן שבהן השדה job_name לא מסתיים במחרוזת debug.
    • בשורה השלישית נבחרות כל רשומות היומן עם רמת החומרה DEFAULT,‏ DEBUG,‏ INFO או NOTICE.
  6. לוחצים על עדכון יעד.

בדיקת מסנן ההחרגה

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

אחרי שהעבודה מתחילה לפעול, כדי לראות את יומני העבודה, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Jobs ב-Dataflow במסוף Google Cloud .

    מעבר אל Jobs

    מוצגת רשימה של משימות Dataflow עם הסטטוס שלהן.

  2. בוחרים משרה.

  3. בדף פרטי המשימה, בחלונית יומנים, לוחצים על הצגה.

  4. מוודאים שלא מופיעים יומנים בחלונית Job logs, ושלא מופיעים יומנים מסוג DEFAULT, ‏ DEBUG, ‏ INFO או NOTICE בחלונית Worker logs.

עקיפת מסנן ההחרגה

שם המשימה ב-Dataflow‏ (job_name) משמש כדי לספק מנגנון עקיפה לתרחישים שבהם צריך לתעד את היומנים שנוצרו ב-Dataflow. אפשר להשתמש במעקף הזה כדי להריץ מחדש משימה שנכשלה ולתעד את כל פרטי היומן.

המסנן שנוצר בתרחיש הזה שומר את כל רשומות היומן כשהשדה job_name מסתיים במחרוזת debug. אם רוצים לעקוף את מסנן ההחרגות ולהציג את כל היומנים של משימת Dataflow, מוסיפים debug לשם המשימה. לדוגמה, כדי לעקוף את מסנן ההחרגות, אפשר להשתמש בשם המשימה dataflow-job-debug.

השוואה בין מספרים של רשומות ביומן

אם רוצים להשוות בין נפח היומנים שנקלטים עם מסנן ההחרגה לבין נפח היומנים שנקלטים בלי מסנן ההחרגה, מריצים משימה אחת עם debug שמוסף לשם המשימה ומשימה אחת בלי. אפשר להשתמש במדד Log bytes שמבוסס על יומנים ומוגדר על ידי המערכת כדי להציג ולהשוות את נתוני ההטמעה. מידע נוסף על הצגת נתוני הטמעה זמין במאמר הצגת נתוני הטמעה ב-Metrics Explorer.

יצירת יעד חיצוני

אפשר גם ליצור יעד נוסף ב-Cloud Logging אחרי שיוצרים את מסנן ההחרגה. אפשר להשתמש ביעד הזה כדי להפנות מחדש את כל יומני Dataflow אל יעד חיצוני נתמך, כמו BigQuery,‏ Pub/Sub או Splunk.

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

לשלבים מפורטים להגדרת ניתוב יומנים ב-Cloud Logging, ראו הגדרה וניהול של אובייקטים מסוג sink. כדי לתעד את כל היומנים של Dataflow ביעד חיצוני, בחלונית Choose logs to include in sink, בשדה Build inclusion filter, מזינים את ביטוי המסנן הבא:

resource.type="dataflow_step"

כדי למצוא רשומות ביומן שניתבתם מ-Cloud Logging ליעדים נתמכים, ראו צפייה ביומנים ביעדי יומנים.

מעקב אחרי הודעות ביומן של Dataflow לפי רמת החומרה

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

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

כדי להגדיר מדדים מבוססי-יומן שהמשתמש מגדיר, אפשר לעיין במאמר בנושא יצירת מדד מסוג counter. כדי לעקוב אחרי היומנים של Dataflow, בקטע Filter selection, בתיבה Build filter, מזינים את הטקסט הבא:

resource.type="dataflow_step"