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

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

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

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

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

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

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

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

    • פרויקט מארח של מרכז האפליקציות.
    • פרויקט ניהול של מרכז האפליקציות עבור הגבול של פרויקט יחיד.
    • פרויקט ניהול של App Hub לתיקייה לניהול אפליקציות.

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

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

    הגדרת יעד והיקפים

    כדי לקבל את ההרשאות שדרושות להגדרת היקפי ניראות (observability) וליצירת sink ביומן מצטבר, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין ארגוני (roles/resourcemanager.organizationAdmin) בארגון. להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

    הגדרה של היקפי הרשאות בלבד

    כדי לקבל את ההרשאות שדרושות להגדרת היקף הניראות (observability), אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

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

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

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

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

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

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

    התצוגה שמוסיפים היא התצוגה _AllLogs בקטגוריה ביומן של הפרויקט _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:

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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