הגדרת Google Cloud Observability למעקב אחרי אפליקציות

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

המסמך הזה רלוונטי כשפורסים את האפליקציה ואז רושמים אותה ב-מרכז האפליקציות, או כשפורסים את האפליקציות באמצעות Application Design Center.

בנוסף להגדרת Google Cloud Observability, יכול להיות שתרצו לבצע את הפעולות הבאות:

  1. מצרפים תוויות ספציפיות לאפליקציה למדיניות ההתראות. כשמוסיפים את התוויות האלה, ההתראות שמשויכות לאפליקציה מוצגות בלוחות הבקרה של Application Monitoring. מידע על השלב הזה זמין בקטע קישור מדיניות התראות לאפליקציה ב-App Hub במסמך הזה.

  2. אם אתם פורסים עומסי עבודה ב-Google Kubernetes Engine ואתם רוצים שהאותות המוזהבים של תעבורה, חביון ושיעור שגיאות יוצגו בלוחות הבקרה של 'מעקב אחר אפליקציות', אתם צריכים להטמיע את OpenTelemetry באפליקציה שלכם. מידע נוסף זמין במאמר בנושא הגדרה של מעקב אחר אפליקציות.

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

הגדרת היקף הניראות

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

  • אוסף תצוגות יומן (log scope) ברירת המחדל

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

  • היקף המדדים

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

  • היקף ברירת המחדל של המעקב

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

בהמשך הקטע הזה מוסבר איך להגדיר את ההיקפים האלה.

הגדרה של אוסף תצוגות יומן (log scope) ברירת המחדל

מבצעים אחת מהפעולות הבאות:

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

    1. יוצרים תצוגת יומן בקטגוריית היומנים המרכזית של יומני האפליקציה.

    2. בפרויקט המארח של מרכז האפליקציות או בפרויקט הניהול, יוצרים אוסף תצוגות יומן (log scope), מוסיפים את תצוגת היומן ומגדירים את ההיקף הזה כאוסף תצוגות היומן שמוגדר כברירת מחדל.

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

    1. יוצרים sink מצטבר ליירוט עבור התיקייה לניהול אפליקציות, ומנתבים את היומנים האלה אל _Default קטגוריה ביומן של פרויקט הניהול עבור התיקייה לניהול אפליקציות.

    2. בפרויקט הניהול של התיקייה לניהול אפליקציות, מוודאים שאוסף תצוגות יומן (log scope) שנקרא _Default מוגדר כאוסף תצוגות יומן (log scope) שמוגדר כברירת מחדל. ההיקף שנקרא _Default מציג את התצוגה _AllLogs בקטגוריית היומן _Default של הפרויקט, שהיא מיקום האחסון המרכזי של האפליקציה.

  • אם אתם לא משתמשים ב-sink מצטבר, אז בפרויקט המארח של מרכז האפליקציות או בפרויקט הניהול, הגדירו את אוסף תצוגות יומן (log scope) ברירת המחדל כדי שיופיעו בו מיקומי האחסון של נתוני היומן של האפליקציה. מומלץ להוסיף תצוגות של יומנים למאגרי היומנים שבהם מאוחסנים נתוני היומנים.

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

  1. בפרויקט הניהול של התיקייה שבה מופעלת האפליקציה, יוצרים היקף יומן.
  2. מוסיפים לאוסף תצוגות היומן (log scope) תצוגת יומן אחת לכל פרויקט בתיקייה, כולל פרויקט הניהול.

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

    אחרי שתשלימו את השלב הזה, יכול להיות שבאוסף תצוגות היומן (log scope) יהיו רשומות כמו:

    _Default/_AllLogs     my-folder-mp
    _Default/_AllLogs     project-in-my-folder
    _Default/_AllLogs     another-project-in-my-folder
    
  3. שומרים את אוסף תצוגות היומן (log scope) ומגדירים אותו כאוסף תצוגות יומן (log scope) ברירת המחדל.

הגדרת היקף המדדים

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

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

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

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

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

  • בפרויקטים מארחים של App Hub ובפרויקטים לניהול של גבולות פרויקט יחיד, צריך להגדיר את היקף המדדים.

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

הגדרה של היקף המעקב שמוגדר כברירת מחדל

מבצעים את הפעולות הבאות:

  1. לכל פרויקט שבו יישמרו נתוני המעקב של האפליקציה, מומלץ להפעיל את Observability API:

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

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

  3. מגדירים את היקף המעקב המותאם אישית כהיקף המעקב שמוגדר כברירת מחדל.

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

שיוך מדיניות התראות לאפליקציה במרכז האפליקציות

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

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

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

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

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

  2. בסרגל הכלים של מסוףGoogle Cloud , בוחרים את פרויקט המארח או את פרויקט הניהול של מרכז האפליקציות.
  3. מוצאים את מדיניות ההתראות, לוחצים על View more, בוחרים באפשרות Edit ועוברים לקטע Notifications and name.
  4. בקטע תוויות של אפליקציות, בוחרים את האפליקציה ואז בוחרים את השירות או את עומס העבודה:

    דף של כללי מדיניות התראות שבו מוצגות הוראות לשיוך כללי מדיניות התראות לתוויות של מרכז האפליקציות.

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

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

  • apphub_application_location
  • apphub_application_id
  • apphub_service_id או apphub_workload_id

אפשר גם להוסיף תוויות משתמש למדיניות התראות באמצעות Google Cloud CLI,‏ Terraform או Cloud Monitoring API. עם זאת, אתם חייבים להשתמש במפתחות התוויות שמוצגים בדוגמה הקודמת. למידע נוסף, קראו את המאמרים הבאים:

הענקת גישה

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

המאמרים הבאים