הגדרת 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. יוצרים מאגר נתונים מצטבר ליירוט עבור התיקייה שמופעלת בה האפליקציה, ומנתבים את היומנים האלה אל _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, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    להפעלת ה-API

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

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

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