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

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

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

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

הגדרת היקף הניראות (observability)

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

  • אוסף תצוגות היומן שמוגדר כברירת מחדל

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

  • היקף המדדים בפרויקט

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

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

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

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

הגדרה של אוסף תצוגות יומן כברירת מחדל

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

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

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

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

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

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

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

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

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

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

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

    אחרי שתסיימו את השלב הזה, יכול להיות שיופיעו רשומות כאלה באוסף תצוגות היומן:

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

הגדרת היקף המדדים בפרויקט

מוודאים שבהיקף המדדים בפרויקט המארח או בפרויקט הניהול של 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). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

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

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

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

שיוך מדיניות התראות לאפליקציה ב-App Hub

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

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

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

    נכנסים לדף Alerting.

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

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

    דף מדיניות ההתראות שמראה איך לשייך מדיניות התראות לתוויות של App Hub.

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

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

  • apphub_application_location
  • apphub_application_id
  • apphub_service_id או apphub_workload_id

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

הענקת גישה

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

  • גישה לתצוגת יומנים (roles/logging.viewAccessor) בתצוגות היומנים שמופיעות בהיקף ברירת המחדל של היומנים בפרויקט המארח או בפרויקט הניהול של App Hub. למידע נוסף על מתן גישה לתצוגת יומנים, ראו שליטה בגישה לתצוגת יומנים.

  • צפייה ביומנים (roles/logging.viewer) בפרויקט המארח או בפרויקט הניהול של App Hub, ובכל פרויקט אחר שמופיע באוסף תצוגות היומן (log scope) שמוגדר כברירת מחדל. התפקיד הזה נותן גישה לרוב הרשומות בתיקיית היומנים _Default. מידע נוסף זמין במאמר תפקידי רישום ביומן.

  • התפקיד עריכת מעקב (roles/monitoring.editor) בפרויקט המארח או בפרויקט הניהול של App Hub. לחשבונות ראשיים שלא צריכים ליצור מדיניות התראות, כדאי לתת את התפקיד צפייה ב-Monitoring (roles/monitoring.viewer).

  • משתמש ב-Cloud Trace (roles/cloudtrace.user) בפרויקט המארח או בפרויקט הניהול של App Hub, ובפרויקטים שרשומים בהיקף ברירת המחדל של המעקב.

  • צפייה ב-App Hub (roles/apphub.viewer) בפרויקט המארח או בפרויקט הניהול של App Hub.

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