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

הגדרת Google Cloud Observability לצורך מעקב אחר אפליקציות מאפשרת לכם להציג ולנתח יומנים, מדדים ויומני מעקב מהאפליקציות שלכם ב-מרכז האפליקציות בממשק יחיד, גם אם נתוני הטלמטריה שלכם מאוחסנים בכמה פרויקטים של Google Cloud . כדי להגדיר את Google Cloud Observability, צריך להגדיר את היקף הנראות (observability scope) – שכולל את אוסף תצוגות היומן (log scope) שמוגדר כברירת מחדל, את היקף המדדים בפרויקט ואת היקף המעקב שמוגדר כברירת מחדל – ולהעניק תפקידים ב-IAM. ההגדרה הזו רלוונטית גם אם אתם רושמים אפליקציה קיימת ב-מרכז האפליקציות וגם אם אתם פורסים אפליקציות באמצעות Application Design Center.

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

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

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

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

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

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

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